
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool include_section_group(Sized_relobj_file<32,_false> * this,
   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *
   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)
    */

bool __thiscall
gold::Sized_relobj_file<32,_false>::include_section_group
          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,
          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,
          vector<bool,_std::allocator<bool>_> *omit)

{
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar1;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar2;
  int iVar3;
  Input_file *pIVar4;
  uint flags;
  _func_int_varargs *p_Var5;
  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>
  *this_00;
  Elf_Word EVar6;
  uint *puVar7;
  Elf_file<32,_false,_gold::Object> *this_01;
  uchar *puVar8;
  uint *puVar9;
  char *pcVar10;
  Xindex *this_02;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  off_t start;
  Object *in_stack_ffffff04;
  vector<unsigned_int,_std::allocator<unsigned_int>_> *this_03;
  bool local_d9;
  char local_ce;
  char local_cd;
  uint local_c4;
  Shdr shdr;
  section_size_type symnamelen;
  Kept_section *kept_section;
  Elf_Word shndx;
  vector<unsigned_int,_std::allocator<unsigned_int>_> shndxes;
  string signature;
  string mname;
  pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section> local_58;
  Location loc;
  
  shdr.p_ = (Shdr_data<32> *)(shdrs + index * 0x28);
  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (pIVar4 == (Input_file *)0x0) {
LAB_000cd7c6:
                    /* WARNING: Subroutine does not return */
    Object::input_file(in_stack_ffffff04);
  }
  puVar7 = (uint *)File_read::get_view(&pIVar4->file_,
                                       (this->super_Sized_relobj<32,_false>).super_Relobj.
                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,
                                       (shdr.p_)->sh_size,true,false);
  flags = *puVar7;
  uVar11 = (shdr.p_)->sh_link;
  this_01 = &this->elf_file_;
  if (0xfeff < uVar11) {
    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);
    uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_;
  }
  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset(this_01,uVar11);
  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;
  puVar8 = File_read::get_view(&pIVar4->file_,
                               (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                               offset_,start,0x28,true,true);
  uVar11 = (shdr.p_)->sh_info;
  if (*(uint *)(puVar8 + 0x14) >> 4 <= uVar11) {
    pcVar10 = (char *)gettext();
    goto LAB_000cd301;
  }
  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;
  puVar9 = (uint *)File_read::get_view(&pIVar4->file_,
                                       (this->super_Sized_relobj<32,_false>).super_Relobj.
                                       super_Object.offset_,
                                       (ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10)),0x10,
                                       true,false);
  uVar12 = *(uint *)(puVar8 + 0x18);
  if (0xfeff < uVar12) {
    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);
    uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_;
  }
  p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];
  if (p_Var5 == do_section_contents) {
    elfcpp::Elf_file<32,_false,_gold::Object>::section_contents(this_01,uVar12);
    if (loc.data_size._4_4_ != 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
    }
    if ((section_size_type)loc.data_size == 0) {
      uVar12 = *puVar9;
    }
    else {
      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;
      puVar8 = File_read::get_view(&pIVar4->file_,
                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),
                                   (section_size_type)loc.data_size,true,true);
      uVar12 = *puVar9;
      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;
    }
  }
  else {
    puVar8 = (uchar *)(*p_Var5)();
    uVar12 = *puVar9;
    if (uVar12 < symnamelen) {
LAB_000cd02a:
      paVar1 = &signature.field_2;
      signature._M_dataplus._M_p = (pointer)paVar1;
      if (puVar8 + uVar12 != (uchar *)0x0) {
        strlen((char *)(puVar8 + uVar12));
      }
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>();
      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {
        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);
        if (uVar12 < 0xff00) {
LAB_000cd408:
          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {
            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {
              std::string::assign((string *)&signature,
                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));
            }
            goto LAB_000cd084;
          }
        }
        else if (uVar12 == 0xffff) {
          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
          if (this_02 == (Xindex *)0x0) {
                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */
            this_02 = (Xindex *)
                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object
                        [0x1b])();
            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;
          }
          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);
          goto LAB_000cd408;
        }
        pcVar10 = (char *)gettext();
                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */
        Object::error((Object *)this,pcVar10,uVar11,uVar12);
        local_ce = '\0';
        goto LAB_000cd55f;
      }
LAB_000cd084:
      kept_section = (Kept_section *)0x0;
      if ((flags & 1) == 0) {
        local_c4 = (shdr.p_)->sh_size;
        local_d9 = false;
LAB_000cd0d2:
        local_c4 = local_c4 >> 2;
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_end_of_storage = (pointer)0x0;
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
             (pointer)0x0;
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
             (pointer)0x0;
        if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */
          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        local_cd = (parameters->options_->relocatable_).value;
        if ((bool)local_cd != false) {
                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);
          local_ce = local_cd;
          if (1 < local_c4) goto LAB_000cd114;
          goto LAB_000cd50f;
        }
        local_ce = '\x01';
        if (1 < local_c4) goto LAB_000cd114;
      }
      else {
                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */
        local_d9 = Layout::find_or_add_kept_section
                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);
        if (local_d9) {
          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
            Incremental_inputs::report_comdat_group
                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);
          }
          local_c4 = (shdr.p_)->sh_size;
          goto LAB_000cd0d2;
        }
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
             (pointer)0x0;
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
             (pointer)0x0;
        local_ce = '\0';
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_end_of_storage = (pointer)0x0;
        local_c4 = (shdr.p_)->sh_size >> 2;
        if (local_c4 < 2) goto LAB_000cd55f;
        local_cd = '\0';
        local_d9 = true;
LAB_000cd114:
        uVar12 = 1;
        this_03 = &shndxes;
        do {
          uVar13 = puVar7[uVar12];
          if (uVar13 < 0xff00) {
            shndx = uVar13;
            if (local_cd != '\0') goto LAB_000cd246;
LAB_000cd153:
            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)
            goto LAB_000cd275;
LAB_000cd15f:
            EVar6 = shndx;
            if (shndx < index) {
              pcVar10 = (char *)gettext();
                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */
              Object::error((Object *)this,pcVar10,index,EVar6);
            }
            iVar3 = shndx * 0x28;
            uVar13 = *(uint *)(shdrs + iVar3);
            if (uVar13 < section_names_size) {
              paVar2 = &mname.field_2;
              mname._M_dataplus._M_p = (pointer)paVar2;
              if (section_names + uVar13 != (char *)0x0) {
                strlen(section_names + uVar13);
              }
                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */
              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
              _M_construct<char_const*>();
              if (local_ce == '\0') {
                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.
                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +
                         (shndx >> 5);
                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);
                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))
                {
                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);
                  local_58.first = shndx;
                  local_58.second.kept_section = kept_section;
                  local_58.second.sh_size._4_4_ = 0;
                  local_58.second.is_comdat = true;
                  local_58.second.symndx = uVar11;
                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */
                  std::
                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>
                  ::
                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>
                            (&(this->kept_comdat_sections_)._M_t,&local_58);
                }
              }
              else if (local_d9 != false) {
                if (kept_section->is_comdat_ == false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */
                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");
                }
                this_00 = &((kept_section->u_).group_sections)->_M_t;
                loc.file_offset._0_4_ = &loc.data_size;
                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */
                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
                _M_construct<char*>();
                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */
                std::
                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>
                ::
                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>
                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>
                                    *)&loc);
                if ((off_t *)loc.file_offset != &loc.data_size) {
                  operator_delete((off_t *)loc.file_offset);
                }
              }
              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)mname._M_dataplus._M_p != paVar2) {
                operator_delete(mname._M_dataplus._M_p);
              }
            }
          }
          else {
            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);
            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;
            shndx = uVar13;
            if (local_cd == '\0') goto LAB_000cd153;
LAB_000cd246:
            shndx = uVar13;
            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                _M_finish ==
                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                _M_end_of_storage) {
                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */
              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::
              _M_realloc_insert<unsigned_int_const&>
                        (this_03,(iterator)
                                 shndxes.
                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                                 _M_impl._M_finish,&shndx);
              goto LAB_000cd153;
            }
            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
             _M_finish = uVar13;
            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                        _M_impl._M_finish + 1;
            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)
            goto LAB_000cd15f;
LAB_000cd275:
            EVar6 = shndx;
            pcVar10 = (char *)gettext();
            Object::error((Object *)this,pcVar10,EVar6,index);
          }
          uVar12 = uVar12 + 1;
        } while (uVar12 < local_c4);
        if (local_cd != '\0') {
LAB_000cd50f:
                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */
          Layout::layout_group<32,_false>
                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);
        }
      }
      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
          != (pointer)0x0) {
        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                        _M_impl._M_start);
      }
LAB_000cd55f:
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)signature._M_dataplus._M_p == paVar1) {
        return (bool)local_ce;
      }
      operator_delete(signature._M_dataplus._M_p);
      return (bool)local_ce;
    }
  }
  pcVar10 = (char *)gettext();
  index = uVar11;
  uVar11 = uVar12;
LAB_000cd301:
  Object::error((Object *)this,pcVar10,index,uVar11);
  return false;
}



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

char FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,
                 int param_6,int param_7,uint param_8,int *param_9)

{
  code *pcVar1;
  int iVar2;
  uint *puVar3;
  size_t sVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 extraout_EDX;
  uint uVar7;
  undefined4 extraout_EDX_00;
  undefined4 extraout_EDX_01;
  undefined4 extraout_EDX_02;
  undefined1 *puVar8;
  int **ppiVar9;
  uint **ppuVar10;
  int **ppiVar11;
  int **ppiVar12;
  uint uVar13;
  uint *puVar14;
  undefined8 uVar15;
  uint *puStack_104;
  uint uStack_100;
  int *local_fc;
  uint **local_f8;
  undefined4 local_f4;
  uint *local_f0;
  char *local_ec;
  uint local_e8;
  uint local_e4;
  undefined4 local_e0;
  char local_d9;
  uint local_d8;
  undefined1 *local_d4;
  char local_ce;
  char local_cd;
  int *local_cc;
  uint *local_c8;
  uint local_c4;
  undefined **local_c0;
  undefined1 local_bc [8];
  undefined1 local_b4 [16];
  int local_a4;
  uint local_a0;
  int local_9c;
  uint *local_98;
  int local_94;
  undefined4 *local_90;
  undefined4 *local_8c;
  char *local_88 [2];
  char local_80 [16];
  undefined1 *local_70;
  int local_6c;
  undefined1 local_68 [16];
  uint *local_58;
  uint local_54;
  undefined4 local_50;
  int local_4c;
  uint local_48;
  undefined1 local_44;
  uint *local_40;
  undefined4 local_3c;
  uint local_38;
  int local_34;
  uint *local_28;
  uint local_24;
  undefined4 local_20;
  
  local_c0 = &__DT_PLTGOT;
  local_a4 = param_6 + (int)param_4 * 0x28;
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) {
LAB_000cd7c6:
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;
    FUN_000be960();
  }
  uStack_100 = 0;
  puStack_104 = (uint *)0x1;
  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                  *(undefined4 *)(local_a4 + 0x10),0,
                                  *(undefined4 *)(local_a4 + 0x14));
  local_e8 = *local_c8;
  uVar13 = *(uint *)(local_a4 + 0x18);
  local_cc = param_1 + 0x24;
  if (0xfeff < uVar13) {
    FUN_000c47d0(local_cc);
    uVar13 = uVar13 + param_1[0x29];
  }
  ppiVar11 = &local_fc;
  ppiVar9 = &local_fc;
  uVar15 = FUN_000c52b0(local_cc,uVar13);
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) goto LAB_000cd7c6;
  uStack_100 = 1;
  puStack_104 = (uint *)0x1;
  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);
  local_d8 = *(uint *)(local_a4 + 0x1c);
  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {
    uVar5 = gettext(local_c0 + -0x3a03f);
    uStack_100 = local_d8;
    puStack_104 = param_4;
    ppuVar10 = &puStack_104;
    goto LAB_000cd301;
  }
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) goto LAB_000cd7c6;
  uStack_100 = 0;
  puStack_104 = (uint *)0x1;
  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);
  puVar14 = *(uint **)(iVar2 + 0x18);
  if ((uint *)0xfeff < puVar14) {
    FUN_000c47d0(local_cc);
    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);
  }
  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {
    puStack_104 = puVar14;
    FUN_000c5480(&local_40,local_cc);
    ppiVar12 = (int **)&uStack_100;
    ppiVar9 = (int **)&uStack_100;
    if (local_34 != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);
    }
    local_a0 = local_38;
    if (local_38 == 0) {
      uVar13 = *puVar3;
    }
    else {
      if (param_1[7] == 0) goto LAB_000cd7c6;
      puStack_104 = (uint *)0x1;
      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);
      uVar13 = *puVar3;
      ppiVar9 = (int **)&uStack_100;
      ppiVar11 = (int **)&uStack_100;
      if (uVar13 < local_a0) goto LAB_000cd02a;
    }
  }
  else {
    puStack_104 = &local_a0;
    uStack_100 = 1;
    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);
    uVar13 = *puVar3;
    if (uVar13 < local_a0) {
LAB_000cd02a:
      local_ec = local_80;
      iVar6 = -1;
      iVar2 = uVar13 + iVar2;
      local_88[0] = local_ec;
      if (iVar2 != 0) {
        *(int *)((int)ppiVar11 + -0x10) = iVar2;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;
        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));
        iVar6 = iVar2 + sVar4;
      }
      *(undefined4 *)((int)ppiVar11 + -4) = 0;
      *(int *)((int)ppiVar11 + -8) = iVar6;
      *(int *)((int)ppiVar11 + -0xc) = iVar2;
      *(char ***)((int)ppiVar11 + -0x10) = local_88;
      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;
      FUN_00056c80();
      uVar5 = extraout_EDX;
      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {
        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);
        uVar15 = CONCAT44(extraout_EDX,uVar13);
        if (uVar13 < 0xff00) {
LAB_000cd408:
          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);
          uVar13 = (uint)uVar15;
          if (uVar13 < (uint)param_1[10]) {
            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);
            if (uVar13 < param_8) {
              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;
              *(char ***)((int)ppiVar11 + -0x10) = local_88;
              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;
              FUN_001b54d0();
              uVar5 = extraout_EDX_00;
            }
            goto LAB_000cd084;
          }
        }
        else if (uVar13 == 0xffff) {
          iVar2 = param_1[0xc];
          if (iVar2 == 0) {
            iVar2 = *param_1;
            *(int **)((int)ppiVar11 + -0x10) = param_1;
                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */
            pcVar1 = *(code **)(iVar2 + 0x6c);
            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;
            iVar2 = (*pcVar1)();
            param_1[0xc] = iVar2;
          }
          *(uint *)((int)ppiVar11 + -8) = local_d8;
          *(int **)((int)ppiVar11 + -0xc) = param_1;
          *(int *)((int)ppiVar11 + -0x10) = iVar2;
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;
          uVar15 = FUN_000beba0();
          goto LAB_000cd408;
        }
        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;
        uVar5 = gettext();
        *(uint *)((int)ppiVar11 + -4) = uVar13;
        *(uint *)((int)ppiVar11 + -8) = local_d8;
        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;
        *(int **)((int)ppiVar11 + -0x10) = param_1;
                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;
        FUN_000beb20();
        local_ce = '\0';
        goto LAB_000cd55f;
      }
LAB_000cd084:
      local_9c = 0;
      if ((local_e8 & 1) == 0) {
        local_c4 = *(uint *)(local_a4 + 0x14);
        local_d9 = '\0';
LAB_000cd0d2:
        local_c4 = local_c4 >> 2;
        uVar13 = local_c4;
        local_8c = (undefined4 *)0x0;
        local_90 = (undefined4 *)0x0;
        local_94 = 0;
        if (*(int *)(local_c0[0xbc] + 8) == 0) {
          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;
          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;
          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;
          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;
          FUN_0008b620();
        }
        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);
        if (local_cd != '\0') {
          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;
          *(int **)((int)ppiVar11 + -0x10) = &local_94;
                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;
          FUN_000c45a0();
          local_ce = local_cd;
          if (1 < uVar13) goto LAB_000cd114;
          goto LAB_000cd50f;
        }
        local_ce = '\x01';
        if (1 < local_c4) goto LAB_000cd114;
      }
      else {
        *(int **)((int)ppiVar11 + -8) = &local_9c;
        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;
        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;
        *(uint **)((int)ppiVar11 + -0x14) = param_4;
        *(int **)((int)ppiVar11 + -0x18) = param_1;
        *(char ***)((int)ppiVar11 + -0x1c) = local_88;
        *(int *)((int)ppiVar11 + -0x20) = param_3;
                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */
        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;
        local_d9 = FUN_000b0300();
        if (local_d9 != '\0') {
          iVar2 = *(int *)(param_3 + 0x1d0);
          uVar5 = extraout_EDX_01;
          if (iVar2 != 0) {
            *(char **)((int)ppiVar11 + -8) = local_88[0];
            *(int **)((int)ppiVar11 + -0xc) = param_1;
            *(int *)((int)ppiVar11 + -0x10) = iVar2;
            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;
            FUN_00093370();
            uVar5 = extraout_EDX_02;
          }
          local_c4 = *(uint *)(local_a4 + 0x14);
          goto LAB_000cd0d2;
        }
        local_94 = 0;
        local_90 = (undefined4 *)0x0;
        local_ce = '\0';
        local_8c = (undefined4 *)0x0;
        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;
        if (local_c4 < 2) goto LAB_000cd55f;
        local_cd = '\0';
        local_d9 = '\x01';
LAB_000cd114:
        local_f8 = &local_98;
        uVar13 = 1;
        local_fc = &local_94;
        puVar8 = (undefined1 *)ppiVar11;
        do {
          puVar14 = (uint *)local_c8[uVar13];
          ppiVar11 = (int **)puVar8;
          if (puVar14 < (uint *)0xff00) {
            local_98 = puVar14;
            if (local_cd != '\0') goto LAB_000cd246;
LAB_000cd153:
            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;
LAB_000cd15f:
            puVar14 = local_98;
            if (local_98 < param_4) {
              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;
              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;
              uVar5 = gettext();
              *(uint **)(puVar8 + -4) = puVar14;
              *(uint **)(puVar8 + -8) = param_4;
              *(undefined4 *)(puVar8 + -0xc) = uVar5;
              *(int **)(puVar8 + -0x10) = param_1;
                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;
              FUN_000beb20();
            }
            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);
            if (*puVar14 < param_8) {
              local_d4 = local_68;
              local_70 = local_d4;
              iVar2 = -1;
              uVar7 = *puVar14 + param_7;
              if (uVar7 != 0) {
                *(uint *)(puVar8 + -0x10) = uVar7;
                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;
                local_e4 = uVar7;
                sVar4 = strlen(*(char **)(puVar8 + -0x10));
                iVar2 = sVar4 + local_e4;
                uVar7 = local_e4;
              }
              *(undefined4 *)(puVar8 + -4) = 0;
              *(int *)(puVar8 + -8) = iVar2;
              *(uint *)(puVar8 + -0xc) = uVar7;
              *(undefined1 ***)(puVar8 + -0x10) = &local_70;
                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;
              FUN_00056c80();
              if (local_ce == '\0') {
                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);
                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);
                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {
                  local_54 = puVar14[5];
                  local_58 = local_98;
                  local_4c = local_9c;
                  *(uint ***)(puVar8 + -8) = &local_58;
                  local_48 = local_d8;
                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;
                  *(undefined1 **)(puVar8 + -0x10) = local_bc;
                  local_50 = 0;
                  local_44 = 1;
                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */
                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;
                  FUN_000c7070();
                  ppiVar11 = (int **)(puVar8 + -4);
                }
              }
              else if (local_d9 != '\0') {
                local_e4 = puVar14[5];
                local_e0 = 0;
                local_f0 = local_98;
                if (*(char *)(local_9c + 8) == '\0') {
                  *(int *)(puVar8 + -4) = local_9c;
                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;
                  *(undefined4 *)(puVar8 + -0xc) = 0x135;
                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */
                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;
                  FUN_0008b620();
                }
                local_f4 = *(undefined4 *)(local_9c + 0xc);
                *(undefined4 *)(puVar8 + -4) = 0;
                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;
                *(undefined1 **)(puVar8 + -0xc) = local_70;
                *(uint ***)(puVar8 + -0x10) = &local_40;
                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */
                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;
                local_40 = &local_38;
                FUN_0007c4c0();
                *(uint ***)(puVar8 + -8) = &local_40;
                local_24 = local_e4;
                *(undefined4 *)(puVar8 + -0xc) = local_f4;
                *(undefined1 **)(puVar8 + -0x10) = local_b4;
                local_28 = local_f0;
                local_20 = local_e0;
                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */
                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;
                FUN_000c4080();
                ppiVar11 = (int **)(puVar8 + -4);
                if (local_40 != &local_38) {
                  *(uint **)(puVar8 + -0x14) = local_40;
                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;
                  FUN_001ac470();
                  ppiVar11 = (int **)(puVar8 + -4);
                }
              }
              if (local_70 != local_d4) {
                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;
                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;
                FUN_001ac470();
              }
            }
          }
          else {
            *(int **)(puVar8 + -0x10) = local_cc;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;
            FUN_000c47d0();
            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);
            local_98 = puVar14;
            if (local_cd == '\0') goto LAB_000cd153;
LAB_000cd246:
            local_98 = puVar14;
            if (local_90 == local_8c) {
              *(uint ***)(puVar8 + -8) = local_f8;
              *(undefined4 **)(puVar8 + -0xc) = local_90;
              *(int **)(puVar8 + -0x10) = local_fc;
                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;
              FUN_0009acc0();
              goto LAB_000cd153;
            }
            *local_90 = puVar14;
            local_90 = local_90 + 1;
            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;
LAB_000cd275:
            puVar14 = local_98;
            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;
            uVar5 = gettext();
            *(uint **)(puVar8 + -4) = param_4;
            *(uint **)(puVar8 + -8) = puVar14;
            *(undefined4 *)(puVar8 + -0xc) = uVar5;
            *(int **)(puVar8 + -0x10) = param_1;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;
            FUN_000beb20();
          }
          uVar13 = uVar13 + 1;
          puVar8 = (undefined1 *)ppiVar11;
        } while (uVar13 < local_c4);
        if (local_cd != '\0') {
LAB_000cd50f:
          *(int **)((int)ppiVar11 + -0x10) = &local_94;
          *(uint *)((int)ppiVar11 + -0x14) = local_e8;
          *(int **)((int)ppiVar11 + -0x18) = &local_a4;
          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];
          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;
          *(uint **)((int)ppiVar11 + -0x24) = param_4;
          *(int **)((int)ppiVar11 + -0x28) = param_1;
          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;
          *(int *)((int)ppiVar11 + -0x30) = param_3;
                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;
          FUN_000b9ec0();
        }
      }
      if (local_94 != 0) {
        *(int *)((int)ppiVar11 + -0x10) = local_94;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;
        FUN_001ac470();
      }
LAB_000cd55f:
      if (local_88[0] == local_ec) {
        return local_ce;
      }
      *(char **)((int)ppiVar11 + -0x10) = local_88[0];
      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;
      FUN_001ac470();
      return local_ce;
    }
  }
  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;
  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;
  uVar5 = gettext();
  *(uint *)((int)ppiVar9 + -4) = uVar13;
  ppuVar10 = (uint **)((int)ppiVar9 + -8);
  *(uint *)((int)ppiVar9 + -8) = local_d8;
LAB_000cd301:
  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;
  *(int **)((int)ppuVar10 + -8) = param_1;
  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;
  FUN_000beb20();
  return '\0';
}


CALL 0x00058c42
ADD EAX,0x27217b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xec
MOV dword ptr [EBP + 0xffffff44],EAX
MOV EAX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [EBP + 0x1c]
LEA EAX,[EAX + EAX*0x4]
LEA EAX,[ECX + EAX*0x8]
MOV EDX,dword ptr [EAX + 0x14]
MOV ECX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff60],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x000cd7c6
XOR EBX,EBX
PUSH 0x0
ADD EAX,0x1c
PUSH 0x1
PUSH EDX
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH ECX
MOV ECX,dword ptr [EBP + 0x8]
PUSH dword ptr [ECX + 0x24]
PUSH dword ptr [ECX + 0x20]
PUSH EAX
CALL 0x00085770
ADD ESP,0x20
MOV dword ptr [EBP + 0xffffff3c],EAX
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff1c],EAX
MOV EAX,dword ptr [EBP + 0xffffff60]
MOV EBX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EBP + 0x8]
ADD EAX,0x90
MOV dword ptr [EBP + 0xffffff38],EAX
CMP EBX,0xfeff
JA 0x000cd378
SUB ESP,0x8
PUSH EBX
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x000c52b0
MOV ESI,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x1c]
TEST ECX,ECX
JZ 0x000cd7c6
PUSH 0x1
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH 0x1
PUSH 0x28
PUSH EDX
LEA EDX,[ECX + 0x1c]
PUSH EAX
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH EDX
CALL 0x00085770
ADD ESP,0x20
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xffffff60]
MOV ESI,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [EDI + 0x14]
SHR EAX,0x4
MOV dword ptr [EBP + 0xffffff2c],ESI
CMP EAX,ESI
JBE 0x000cd350
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0xffffff2c]
XOR EDX,EDX
MOV ECX,dword ptr [ECX + 0x1c]
SHL EAX,0x4
ADD EAX,dword ptr [EDI + 0x10]
TEST ECX,ECX
JZ 0x000cd7c6
PUSH 0x0
ADD ECX,0x1c
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH 0x1
PUSH 0x10
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [EBP + 0x8]
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX + 0x20]
PUSH ECX
CALL 0x00085770
MOV EBX,dword ptr [EDI + 0x18]
ADD ESP,0x20
MOV ESI,EAX
CMP EBX,0xfeff
JA 0x000cd328
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + 0xffffff44]
MOV EAX,dword ptr [EAX]
LEA EDX,[ECX + 0xffd86550]
MOV EAX,dword ptr [EAX + 0x38]
CMP EAX,EDX
JNZ 0x000cd6f8
SUB ESP,0x4
LEA EAX,[EBP + -0x3c]
PUSH EBX
PUSH dword ptr [EBP + 0xffffff38]
PUSH EAX
CALL 0x000c5480
MOV EBX,dword ptr [EBP + -0x30]
MOV EDX,dword ptr [EBP + -0x34]
ADD ESP,0xc
TEST EBX,EBX
JNZ 0x000cd7cb
MOV EDI,dword ptr [EBP + 0xffffff44]
MOV dword ptr [EBP + 0xffffff64],EDX
LEA EAX,[EDI + 0xfff18c6b]
TEST EDX,EDX
JNZ 0x000cd2a0
MOV EDI,dword ptr [ESI]
CMP EDI,EDX
JNC 0x000cd2e2
LEA ECX,[EBP + -0x7c]
MOV EDX,0xffffffff
MOV dword ptr [EBP + 0xffffff18],ECX
MOV dword ptr [EBP + 0xffffff7c],ECX
ADD EDI,EAX
JZ 0x000cd057
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EDI
CALL 0x000285f0
ADD ESP,0x10
LEA EDX,[EDI + EAX*0x1]
PUSH 0x0
PUSH EDX
PUSH EDI
LEA EDI,[EBP + 0xffffff7c]
PUSH EDI
CALL 0x00056c80
MOV EAX,dword ptr [EBP + 0xffffff7c]
ADD ESP,0x10
CMP byte ptr [EAX],0x0
JNZ 0x000cd084
MOVZX EAX,byte ptr [ESI + 0xc]
AND EAX,0xf
CMP AL,0x3
JZ 0x000cd398
MOV dword ptr [EBP + 0xffffff68],0x0
TEST byte ptr [EBP + 0xffffff1c],0x1
JNZ 0x000cd668
MOV EAX,dword ptr [EBP + 0xffffff60]
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV EAX,dword ptr [EAX + 0x14]
MOV byte ptr [EBP + 0xffffff2b],0x0
MOV dword ptr [EBP + 0xffffff78],0x0
SHR EAX,0x2
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBP + 0xffffff44]
LEA EAX,[EAX + 0x2f0]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000cd7ea
MOVZX EAX,byte ptr [EAX + 0x318d]
MOV byte ptr [EBP + 0xffffff37],AL
TEST AL,AL
JNZ 0x000cd720
CMP dword ptr [EBP + 0xffffff40],0x1
MOV byte ptr [EBP + 0xffffff36],0x1
JBE 0x000cd543
LEA EAX,[EBP + 0xffffff6c]
MOV ESI,0x1
MOV dword ptr [EBP + 0xffffff0c],EAX
LEA EAX,[EBP + 0xffffff70]
MOV dword ptr [EBP + 0xffffff08],EAX
JMP 0x000cd204
CMP byte ptr [EBP + 0xffffff37],0x0
MOV dword ptr [EBP + 0xffffff6c],EDI
JNZ 0x000cd246
MOV EAX,dword ptr [EBP + 0x8]
CMP dword ptr [EAX + 0x28],EDI
JBE 0x000cd275
CMP dword ptr [EBP + 0x14],EDI
JA 0x000cd440
MOV ECX,dword ptr [EBP + 0x1c]
LEA EAX,[EDI + EDI*0x4]
LEA EDI,[ECX + EAX*0x8]
MOV EDX,dword ptr [EDI]
CMP dword ptr [EBP + 0x24],EDX
JBE 0x000cd1f5
LEA EAX,[EBP + -0x64]
MOV dword ptr [EBP + 0xffffff30],EAX
MOV dword ptr [EBP + -0x6c],EAX
MOV EAX,0xffffffff
ADD EDX,dword ptr [EBP + 0x20]
JZ 0x000cd1ae
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
MOV dword ptr [EBP + 0xffffff20],EDX
PUSH EDX
CALL 0x000285f0
MOV EDX,dword ptr [EBP + 0xffffff20]
ADD ESP,0x10
ADD EAX,EDX
PUSH 0x0
PUSH EAX
LEA EAX,[EBP + -0x6c]
PUSH EDX
PUSH EAX
CALL 0x00056c80
ADD ESP,0x10
CMP byte ptr [EBP + 0xffffff36],0x0
JZ 0x000cd478
CMP byte ptr [EBP + 0xffffff2b],0x0
JNZ 0x000cd598
MOV EAX,dword ptr [EBP + -0x6c]
CMP EAX,dword ptr [EBP + 0xffffff30]
JZ 0x000cd1f5
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
ADD ESI,0x1
CMP ESI,dword ptr [EBP + 0xffffff40]
JNC 0x000cd500
MOV EAX,dword ptr [EBP + 0xffffff3c]
MOV EDI,dword ptr [EAX + ESI*0x4]
CMP EDI,0xfeff
JBE 0x000cd140
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x000c47d0
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
ADD EDI,dword ptr [EAX + 0xa4]
CMP byte ptr [EBP + 0xffffff37],0x0
MOV dword ptr [EBP + 0xffffff6c],EDI
JZ 0x000cd153
MOV EAX,dword ptr [EBP + 0xffffff74]
CMP EAX,dword ptr [EBP + 0xffffff78]
JZ 0x000cd640
MOV dword ptr [EAX],EDI
ADD EAX,0x4
MOV EDI,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBP + 0xffffff74],EAX
MOV EAX,dword ptr [EBP + 0x8]
CMP dword ptr [EAX + 0x28],EDI
JA 0x000cd15f
MOV EBX,dword ptr [EBP + 0xffffff44]
SUB ESP,0xc
LEA EAX,[EBX + 0xfff17f78]
PUSH EAX
CALL 0x000283c0
ADD ESP,0x10
PUSH dword ptr [EBP + 0x14]
PUSH EDI
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x000beb20
JMP 0x000cd1f2
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + -0x3c]
MOV EBX,dword ptr [EBP + -0x38]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x000cd7c6
PUSH 0x1
ADD EAX,0x1c
PUSH 0x1
PUSH EDX
PUSH EBX
MOV EBX,EDI
PUSH ECX
MOV ECX,dword ptr [EBP + 0x8]
PUSH dword ptr [ECX + 0x24]
PUSH dword ptr [ECX + 0x20]
PUSH EAX
CALL 0x00085770
MOV EDX,dword ptr [EBP + 0xffffff64]
MOV EDI,dword ptr [ESI]
ADD ESP,0x20
CMP EDI,EDX
JC 0x000cd02a
MOV EBX,dword ptr [EBP + 0xffffff44]
SUB ESP,0xc
LEA EAX,[EBX + 0xfff17f2c]
PUSH EAX
CALL 0x000283c0
ADD ESP,0x10
PUSH EDI
PUSH dword ptr [EBP + 0xffffff2c]
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x000beb20
MOV byte ptr [EBP + 0xffffff36],0x0
ADD ESP,0x10
MOVZX EAX,byte ptr [EBP + 0xffffff36]
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x000c47d0
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
ADD EBX,dword ptr [EAX + 0xa4]
JMP 0x000ccfc6
MOV EBX,dword ptr [EBP + 0xffffff44]
SUB ESP,0xc
LEA EAX,[EBX + 0xfff17f04]
PUSH EAX
CALL 0x000283c0
ADD ESP,0x10
PUSH dword ptr [EBP + 0xffffff2c]
PUSH dword ptr [EBP + 0x14]
JMP 0x000cd301
SUB ESP,0xc
PUSH EAX
CALL 0x000c47d0
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
ADD EBX,dword ptr [EAX + 0xa4]
JMP 0x000ccf17
MOVZX ESI,word ptr [ESI + 0xe]
CMP ESI,0xfeff
JBE 0x000cd408
CMP ESI,0xffff
JZ 0x000cd3e3
MOV EBX,dword ptr [EBP + 0xffffff44]
SUB ESP,0xc
LEA EAX,[EBX + 0xfff17f54]
PUSH EAX
CALL 0x000283c0
ADD ESP,0x10
PUSH ESI
PUSH dword ptr [EBP + 0xffffff2c]
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x000beb20
ADD ESP,0x10
MOV byte ptr [EBP + 0xffffff36],0x0
JMP 0x000cd55f
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x30]
TEST EAX,EAX
JZ 0x000cd7aa
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff2c]
PUSH dword ptr [EBP + 0x8]
PUSH EAX
CALL 0x000beba0
MOV ESI,EAX
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
CMP ESI,dword ptr [EAX + 0x28]
JNC 0x000cd3ac
LEA EAX,[ESI + ESI*0x4]
MOV ESI,dword ptr [EBP + 0x1c]
MOV EAX,dword ptr [ESI + EAX*0x8]
CMP dword ptr [EBP + 0x24],EAX
JBE 0x000cd084
SUB ESP,0x8
ADD EAX,dword ptr [EBP + 0x20]
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
PUSH EDI
CALL 0x001b54d0
ADD ESP,0x10
JMP 0x000cd084
MOV EBX,dword ptr [EBP + 0xffffff44]
SUB ESP,0xc
LEA EAX,[EBX + 0xfff17fa4]
PUSH EAX
CALL 0x000283c0
ADD ESP,0x10
PUSH EDI
PUSH dword ptr [EBP + 0x14]
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x000beb20
ADD ESP,0x10
MOV EDI,dword ptr [EBP + 0xffffff6c]
JMP 0x000cd168
MOV ECX,dword ptr [EBP + 0xffffff6c]
MOV EAX,dword ptr [EBP + 0x28]
MOV EBX,ECX
MOV EDX,dword ptr [EAX]
MOV EAX,0x1
SHR EBX,0x5
SHL EAX,CL
OR dword ptr [EDX + EBX*0x4],EAX
CMP byte ptr [EBP + 0xffffff2b],0x0
JZ 0x000cd1d8
CMP dword ptr [EBP + 0xffffff40],0x2
MOV EAX,dword ptr [EBP + 0xffffff68]
JZ 0x000cd4b8
CMP byte ptr [EAX + 0x8],0x0
JZ 0x000cd1d8
MOV EDX,dword ptr [EDI + 0x14]
MOV dword ptr [EBP + -0x54],ECX
SUB ESP,0x4
MOV dword ptr [EBP + -0x48],EAX
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0xffffff2c]
MOV dword ptr [EBP + -0x50],EDX
LEA EDX,[EBP + -0x54]
PUSH EDX
LEA EDX,[ECX + 0x104]
MOV dword ptr [EBP + -0x44],EAX
LEA EAX,[EBP + 0xffffff48]
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + -0x4c],0x0
MOV byte ptr [EBP + -0x40],0x1
CALL 0x000c7070
ADD ESP,0xc
JMP 0x000cd1d8
CMP byte ptr [EBP + 0xffffff37],0x0
JZ 0x000cd543
LEA EBX,[EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EBP + 0xffffff60]
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH dword ptr [EBP + 0xffffff1c]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff7c]
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0x10]
CALL 0x000b9ec0
ADD ESP,0x30
MOV EAX,dword ptr [EBP + 0xffffff70]
TEST EAX,EAX
JZ 0x000cd55f
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff7c]
CMP EAX,dword ptr [EBP + 0xffffff18]
JZ 0x000cd314
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
CALL 0x001ac470
MOVZX EAX,byte ptr [EBP + 0xffffff36]
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xffffff68]
MOV ECX,dword ptr [EDI + 0x14]
XOR EBX,EBX
MOV EDX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBP + 0xffffff24],EBX
CMP byte ptr [EAX + 0x8],0x0
MOV dword ptr [EBP + 0xffffff20],ECX
MOV dword ptr [EBP + 0xffffff14],EDX
JZ 0x000cd806
MOV EAX,dword ptr [EAX + 0xc]
MOV EDX,dword ptr [EBP + -0x68]
LEA EBX,[EBP + -0x3c]
PUSH 0x0
LEA EDI,[EBP + -0x34]
MOV dword ptr [EBP + 0xffffff10],EAX
MOV EAX,dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + -0x3c],EDI
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0007c4c0
MOV EAX,dword ptr [EBP + 0xffffff20]
ADD ESP,0xc
MOV ECX,dword ptr [EBP + 0xffffff14]
PUSH EBX
MOV EDX,dword ptr [EBP + 0xffffff24]
MOV dword ptr [EBP + -0x20],EAX
LEA EAX,[EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xffffff10]
PUSH EAX
MOV dword ptr [EBP + -0x24],ECX
MOV dword ptr [EBP + -0x1c],EDX
CALL 0x000c4080
MOV EAX,dword ptr [EBP + -0x3c]
ADD ESP,0xc
CMP EAX,EDI
JZ 0x000cd1d8
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
JMP 0x000cd1d8
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff0c]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff08]
CALL 0x0009acc0
ADD ESP,0x10
MOV EDI,dword ptr [EBP + 0xffffff6c]
JMP 0x000cd153
SUB ESP,0x4
LEA EAX,[EBP + 0xffffff68]
MOV ESI,dword ptr [EBP + 0xffffff44]
PUSH EAX
PUSH 0x1
MOV EBX,ESI
PUSH 0x1
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x8]
PUSH EDI
PUSH dword ptr [EBP + 0x10]
CALL 0x000b0300
MOV byte ptr [EBP + 0xffffff2b],AL
ADD ESP,0x20
TEST AL,AL
JZ 0x000cd757
MOV EAX,dword ptr [EBP + 0x10]
MOV EAX,dword ptr [EAX + 0x1d0]
TEST EAX,EAX
JZ 0x000cd6c0
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff7c]
PUSH dword ptr [EBP + 0x8]
PUSH EAX
CALL 0x00093370
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff60]
MOV EAX,dword ptr [EAX + 0x14]
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV dword ptr [EBP + 0xffffff78],0x0
SHR EAX,0x2
MOV dword ptr [EBP + 0xffffff40],EAX
JMP 0x000cd0d2
LEA EDX,[EBP + 0xffffff64]
PUSH 0x1
PUSH EDX
PUSH EBX
PUSH dword ptr [EBP + 0x8]
CALL EAX
MOV EDX,dword ptr [EBP + 0xffffff64]
MOV EDI,dword ptr [ESI]
ADD ESP,0x10
CMP EDI,EDX
JC 0x000cd02a
JMP 0x000cd2e2
MOV ESI,dword ptr [EBP + 0xffffff40]
SUB ESP,0x8
LEA EBX,[EBP + 0xffffff70]
LEA EAX,[ESI + -0x1]
PUSH EAX
PUSH EBX
CALL 0x000c45a0
MOVZX EAX,byte ptr [EBP + 0xffffff37]
ADD ESP,0x10
MOV byte ptr [EBP + 0xffffff36],AL
CMP ESI,0x1
JA 0x000cd114
JMP 0x000cd50f
MOV EAX,dword ptr [EBP + 0xffffff60]
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV EAX,dword ptr [EAX + 0x14]
MOV byte ptr [EBP + 0xffffff36],0x0
MOV dword ptr [EBP + 0xffffff78],0x0
SHR EAX,0x2
MOV dword ptr [EBP + 0xffffff40],EAX
CMP EAX,0x1
JBE 0x000cd55f
MOV byte ptr [EBP + 0xffffff37],0x0
MOV byte ptr [EBP + 0xffffff2b],0x1
JMP 0x000cd114
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + 0x8]
CALL dword ptr [EAX + 0x6c]
MOV ESI,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV dword ptr [ESI + 0x30],EAX
JMP 0x000cd3f1
CALL 0x000be960
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH ECX
LEA EAX,[EBX + 0xfff186a8]
PUSH EAX
LEA EAX,[EBX + 0xfff0c4b4]
PUSH 0xc0
PUSH EAX
CALL 0x0008b620
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EDX
LEA EAX,[EBX + 0xfff18b1c]
PUSH EAX
LEA EAX,[EBX + 0xfff0726d]
PUSH 0x5c
PUSH EAX
CALL 0x0008b620
MOV EBX,dword ptr [EBP + 0xffffff44]
PUSH EAX
LEA EAX,[EBX + 0xfff18654]
PUSH EAX
LEA EAX,[EBX + 0xfff14ba8]
PUSH 0x135
PUSH EAX
CALL 0x0008b620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nchar FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)\n\n{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}\n\n" comment (function_definition "char FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)\n\n{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" primitive_type (function_declarator "FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "int *param_9" primitive_type (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_02;" type_identifier identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int **ppiVar9;" primitive_type (pointer_declarator "**ppiVar9" * (pointer_declarator "*ppiVar9" * identifier)) ;) (declaration "uint **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "int **ppiVar11;" primitive_type (pointer_declarator "**ppiVar11" * (pointer_declarator "*ppiVar11" * identifier)) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "uint *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "int *local_fc;" primitive_type (pointer_declarator "*local_fc" * identifier) ;) (declaration "uint **local_f8;" type_identifier (pointer_declarator "**local_f8" * (pointer_declarator "*local_f8" * identifier)) ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "uint *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "char *local_ec;" primitive_type (pointer_declarator "*local_ec" * identifier) ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "undefined4 local_e0;" type_identifier identifier ;) (declaration "char local_d9;" primitive_type identifier ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "undefined1 *local_d4;" type_identifier (pointer_declarator "*local_d4" * identifier) ;) (declaration "char local_ce;" primitive_type identifier ;) (declaration "char local_cd;" primitive_type identifier ;) (declaration "int *local_cc;" primitive_type (pointer_declarator "*local_cc" * identifier) ;) (declaration "uint *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "undefined **local_c0;" type_identifier (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)) ;) (declaration "undefined1 local_bc [8];" type_identifier (array_declarator "local_bc [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_b4 [16];" type_identifier (array_declarator "local_b4 [16]" identifier [ number_literal ]) ;) (declaration "int local_a4;" primitive_type identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "uint *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "char *local_88 [2];" primitive_type (pointer_declarator "*local_88 [2]" * (array_declarator "local_88 [2]" identifier [ number_literal ])) ;) (declaration "char local_80 [16];" primitive_type (array_declarator "local_80 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "undefined1 local_68 [16];" type_identifier (array_declarator "local_68 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined1 local_44;" type_identifier identifier ;) (declaration "uint *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_c0 = &__DT_PLTGOT;" (assignment_expression "local_c0 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_a4 = param_6 + (int)param_4 * 0x28;" (assignment_expression "local_a4 = param_6 + (int)param_4 * 0x28" identifier = (binary_expression "param_6 + (int)param_4 * 0x28" identifier + (binary_expression "(int)param_4 * 0x28" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" { (labeled_statement "LAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" statement_identifier : comment (expression_statement "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" (assignment_expression "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb" (pointer_expression "*(undefined4 *)((int)ppiVar12 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar12 + -4)" ( (binary_expression "(int)ppiVar12 + -4" (cast_expression "(int)ppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));" (assignment_expression "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_a4 + 0x10)" * (cast_expression "(undefined4 *)(local_a4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x10)" ( (binary_expression "local_a4 + 0x10" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(local_a4 + 0x14)" * (cast_expression "(undefined4 *)(local_a4 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) )))) ))))) ;) (expression_statement "local_e8 = *local_c8;" (assignment_expression "local_e8 = *local_c8" identifier = (pointer_expression "*local_c8" * identifier)) ;) (expression_statement "uVar13 = *(uint *)(local_a4 + 0x18);" (assignment_expression "uVar13 = *(uint *)(local_a4 + 0x18)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x18)" * (cast_expression "(uint *)(local_a4 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x18)" ( (binary_expression "local_a4 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_cc = param_1 + 0x24;" (assignment_expression "local_cc = param_1 + 0x24" identifier = (binary_expression "param_1 + 0x24" identifier + number_literal)) ;) (if_statement "if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" if (parenthesized_expression "(0xfeff < uVar13)" ( (binary_expression "0xfeff < uVar13" number_literal < identifier) )) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" { (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" identifier = (binary_expression "uVar13 + param_1[0x29]" identifier + (subscript_expression "param_1[0x29]" identifier [ number_literal ]))) ;) })) (expression_statement "ppiVar11 = &local_fc;" (assignment_expression "ppiVar11 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (expression_statement "ppiVar9 = &local_fc;" (assignment_expression "ppiVar9 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (expression_statement "uVar15 = FUN_000c52b0(local_cc,uVar13);" (assignment_expression "uVar15 = FUN_000c52b0(local_cc,uVar13)" identifier = (call_expression "FUN_000c52b0(local_cc,uVar13)" identifier (argument_list "(local_cc,uVar13)" ( identifier , identifier )))) ;) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , number_literal )))) ;) (expression_statement "local_d8 = *(uint *)(local_a4 + 0x1c);" (assignment_expression "local_d8 = *(uint *)(local_a4 + 0x1c)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x1c)" * (cast_expression "(uint *)(local_a4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x1c)" ( (binary_expression "local_a4 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" if (parenthesized_expression "(*(uint *)(iVar2 + 0x14) >> 4 <= local_d8)" ( (binary_expression "*(uint *)(iVar2 + 0x14) >> 4 <= local_d8" (binary_expression "*(uint *)(iVar2 + 0x14) >> 4" (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) >> number_literal) <= identifier) )) (compound_statement "{\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" { (expression_statement "uVar5 = gettext(local_c0 + -0x3a03f);" (assignment_expression "uVar5 = gettext(local_c0 + -0x3a03f)" identifier = (call_expression "gettext(local_c0 + -0x3a03f)" identifier (argument_list "(local_c0 + -0x3a03f)" ( (binary_expression "local_c0 + -0x3a03f" identifier + number_literal) )))) ;) (expression_statement "uStack_100 = local_d8;" (assignment_expression "uStack_100 = local_d8" identifier = identifier) ;) (expression_statement "puStack_104 = param_4;" (assignment_expression "puStack_104 = param_4" identifier = identifier) ;) (expression_statement "ppuVar10 = &puStack_104;" (assignment_expression "ppuVar10 = &puStack_104" identifier = (pointer_expression "&puStack_104" & identifier)) ;) (goto_statement "goto LAB_000cd301;" goto statement_identifier ;) })) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);" (assignment_expression "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (binary_expression "local_d8 * 0x10 + *(int *)(iVar2 + 0x10)" (binary_expression "local_d8 * 0x10" identifier * number_literal) + (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) , number_literal , number_literal ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar2 + 0x18);" (assignment_expression "puVar14 = *(uint **)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar2 + 0x18)" * (cast_expression "(uint **)(iVar2 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" if (parenthesized_expression "((uint *)0xfeff < puVar14)" ( (binary_expression "(uint *)0xfeff < puVar14" (cast_expression "(uint *)0xfeff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" { (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" identifier = (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + param_1[0x29])" ( (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) )))) ;) })) (if_statement "if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac)" ( (binary_expression "*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac" (pointer_expression "*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (binary_expression "local_c0 + -0x9e6ac" identifier + number_literal)) )) (compound_statement "{\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }" { (expression_statement "puStack_104 = puVar14;" (assignment_expression "puStack_104 = puVar14" identifier = identifier) ;) (expression_statement "FUN_000c5480(&local_40,local_cc);" (call_expression "FUN_000c5480(&local_40,local_cc)" identifier (argument_list "(&local_40,local_cc)" ( (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "ppiVar12 = (int **)&uStack_100;" (assignment_expression "ppiVar12 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (if_statement "if (local_34 != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" if (parenthesized_expression "(local_34 != 0)" ( (binary_expression "local_34 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" { comment (expression_statement "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);" (call_expression "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" identifier (argument_list "(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" ( (binary_expression "local_c0 + -0x3ced3" identifier + number_literal) , number_literal , (binary_expression "local_c0 + -0x39e56" identifier + number_literal) ))) ;) })) (expression_statement "local_a0 = local_38;" (assignment_expression "local_a0 = local_38" identifier = identifier) ;) (if_statement "if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar13 = *puVar3;\n    }" { (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) }) (else_clause "else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" else (compound_statement "{\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" { (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (expression_statement "ppiVar11 = (int **)&uStack_100;" (assignment_expression "ppiVar11 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (if_statement "if (uVar13 < local_a0) goto LAB_000cd02a;" if (parenthesized_expression "(uVar13 < local_a0)" ( (binary_expression "uVar13 < local_a0" identifier < identifier) )) (goto_statement "goto LAB_000cd02a;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" else (compound_statement "{\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" { (expression_statement "puStack_104 = &local_a0;" (assignment_expression "puStack_104 = &local_a0" identifier = (pointer_expression "&local_a0" & identifier)) ;) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" identifier = number_literal) ;) (expression_statement "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);" (assignment_expression "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" identifier = (call_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1,puVar14)" ( identifier , identifier )))) ;) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" if (parenthesized_expression "(uVar13 < local_a0)" ( (binary_expression "uVar13 < local_a0" identifier < identifier) )) (compound_statement "{\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" { (labeled_statement "LAB_000cd02a:\n      local_ec = local_80;" statement_identifier : (expression_statement "local_ec = local_80;" (assignment_expression "local_ec = local_80" identifier = identifier) ;)) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "iVar2 = uVar13 + iVar2;" (assignment_expression "iVar2 = uVar13 + iVar2" identifier = (binary_expression "uVar13 + iVar2" identifier + identifier)) ;) (expression_statement "local_88[0] = local_ec;" (assignment_expression "local_88[0] = local_ec" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" { (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppiVar11 + -0x10))" identifier (argument_list "(*(char **)((int)ppiVar11 + -0x10))" ( (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" * (cast_expression "(char **)((int)ppiVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "iVar6 = iVar2 + sVar4;" (assignment_expression "iVar6 = iVar2 + sVar4" identifier = (binary_expression "iVar2 + sVar4" identifier + identifier)) ;) })) (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar11 + -8) = iVar6;" (assignment_expression "*(int *)((int)ppiVar11 + -8) = iVar6" (pointer_expression "*(int *)((int)ppiVar11 + -8)" * (cast_expression "(int *)((int)ppiVar11 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0xc) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0xc) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0xc)" * (cast_expression "(int *)((int)ppiVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" * (cast_expression "(char ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX;" (assignment_expression "uVar5 = extraout_EDX" identifier = identifier) ;) (if_statement "if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" if (parenthesized_expression "((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3))" ( (binary_expression "(*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)" (parenthesized_expression "(*local_88[0] == '\0')" ( (binary_expression "*local_88[0] == '\0'" (pointer_expression "*local_88[0]" * (subscript_expression "local_88[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar3[3] & 0xf) == 3)" ( (binary_expression "(puVar3[3] & 0xf) == 3" (parenthesized_expression "(puVar3[3] & 0xf)" ( (binary_expression "puVar3[3] & 0xf" (subscript_expression "puVar3[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" { (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar3 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar3 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 0xe)" ( (binary_expression "(int)puVar3 + 0xe" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = CONCAT44(extraout_EDX,uVar13);" (assignment_expression "uVar15 = CONCAT44(extraout_EDX,uVar13)" identifier = (call_expression "CONCAT44(extraout_EDX,uVar13)" identifier (argument_list "(extraout_EDX,uVar13)" ( identifier , identifier )))) ;) (if_statement "if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar13 < 0xff00)" ( (binary_expression "uVar13 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }" { (labeled_statement "LAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" statement_identifier : (expression_statement "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar15 >> 0x20)" ( (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "uVar13 = (uint)uVar15;" (assignment_expression "uVar13 = (uint)uVar15" identifier = (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" if (parenthesized_expression "(uVar13 < (uint)param_1[10])" ( (binary_expression "uVar13 < (uint)param_1[10]" identifier < (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) )) (compound_statement "{\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" { (expression_statement "uVar13 = *(uint *)(param_6 + uVar13 * 0x28);" (assignment_expression "uVar13 = *(uint *)(param_6 + uVar13 * 0x28)" identifier = (pointer_expression "*(uint *)(param_6 + uVar13 * 0x28)" * (cast_expression "(uint *)(param_6 + uVar13 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + uVar13 * 0x28)" ( (binary_expression "param_6 + uVar13 * 0x28" identifier + (binary_expression "uVar13 * 0x28" identifier * number_literal)) ))))) ;) (if_statement "if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" if (parenthesized_expression "(uVar13 < param_8)" ( (binary_expression "uVar13 < param_8" identifier < identifier) )) (compound_statement "{\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" { (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" * (cast_expression "(uint *)((int)ppiVar11 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar13 + param_7" identifier + identifier)) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" * (cast_expression "(char ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b54d0();" (call_expression "FUN_001b54d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX_00;" (assignment_expression "uVar5 = extraout_EDX_00" identifier = identifier) ;) })) (goto_statement "goto LAB_000cd084;" goto statement_identifier ;) })) }) (else_clause "else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" else (if_statement "if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar13 == 0xffff)" ( (binary_expression "uVar13 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" { (expression_statement "iVar2 = param_1[0xc];" (assignment_expression "iVar2 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" { (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "pcVar1 = *(code **)(iVar2 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar2 + 0x6c)" identifier = (pointer_expression "*(code **)(iVar2 + 0x6c)" * (cast_expression "(code **)(iVar2 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x6c)" ( (binary_expression "iVar2 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = (*pcVar1)();" (assignment_expression "iVar2 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0xc] = iVar2;" (assignment_expression "param_1[0xc] = iVar2" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" * (cast_expression "(uint *)((int)ppiVar11 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" * (cast_expression "(int **)((int)ppiVar11 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_000beba0();" (assignment_expression "uVar15 = FUN_000beba0()" identifier = (call_expression "FUN_000beba0()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000cd408;" goto statement_identifier ;) })))) (expression_statement "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b" (pointer_expression "*(undefined ***)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x3a02b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)((int)ppiVar11 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar11 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar11 + -4)" * (cast_expression "(uint *)((int)ppiVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" * (cast_expression "(uint *)((int)ppiVar11 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;) })) (labeled_statement "LAB_000cd084:\n      local_9c = 0;" statement_identifier : (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;)) (if_statement "if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" if (parenthesized_expression "((local_e8 & 1) == 0)" ( (binary_expression "(local_e8 & 1) == 0" (parenthesized_expression "(local_e8 & 1)" ( (binary_expression "local_e8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }" { (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_d9 = '\0';" (assignment_expression "local_d9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_000cd0d2:\n        local_c4 = local_c4 >> 2;" statement_identifier : (expression_statement "local_c4 = local_c4 >> 2;" (assignment_expression "local_c4 = local_c4 >> 2" identifier = (binary_expression "local_c4 >> 2" identifier >> number_literal)) ;)) (expression_statement "uVar13 = local_c4;" (assignment_expression "uVar13 = local_c4" identifier = identifier) ;) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" if (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) == 0)" ( (binary_expression "*(int *)(local_c0[0xbc] + 8) == 0" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" * (cast_expression "(int *)(local_c0[0xbc] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0[0xbc] + 8)" ( (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" { (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39" (pointer_expression "*(undefined ***)((int)ppiVar11 + -8)" * (cast_expression "(undefined ***)((int)ppiVar11 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x39d39" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_c0 + -0xf8d93" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);" (assignment_expression "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" identifier = (pointer_expression "*(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) + 0x318d)" ( (binary_expression "*(int *)(local_c0[0xbc] + 8) + 0x318d" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" * (cast_expression "(int *)(local_c0[0xbc] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0[0xbc] + 8)" ( (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" { (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" * (cast_expression "(uint *)((int)ppiVar11 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c4 - 1" identifier - number_literal)) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;) comment (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c45a0();" (call_expression "FUN_000c45a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_ce = local_cd;" (assignment_expression "local_ce = local_cd" identifier = identifier) ;) (if_statement "if (1 < uVar13) goto LAB_000cd114;" if (parenthesized_expression "(1 < uVar13)" ( (binary_expression "1 < uVar13" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd50f;" goto statement_identifier ;) })) (expression_statement "local_ce = '\x01';" (assignment_expression "local_ce = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_c4) goto LAB_000cd114;" if (parenthesized_expression "(1 < local_c4)" ( (binary_expression "1 < local_c4" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) }) (else_clause "else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" else (compound_statement "{\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" { (expression_statement "*(int **)((int)ppiVar11 + -8) = &local_9c;" (assignment_expression "*(int **)((int)ppiVar11 + -8) = &local_9c" (pointer_expression "*(int **)((int)ppiVar11 + -8)" * (cast_expression "(int **)((int)ppiVar11 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)((int)ppiVar11 + -0x14) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x14) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x14)" * (cast_expression "(uint **)((int)ppiVar11 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" * (cast_expression "(int **)((int)ppiVar11 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x18)" ( (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x1c) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x1c) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x1c)" * (cast_expression "(char ***)((int)ppiVar11 + -0x1c)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x1c)" ( (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x20) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x20) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x20)" * (cast_expression "(int *)((int)ppiVar11 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x20)" ( (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x24)" ( (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_d9 = FUN_000b0300();" (assignment_expression "local_d9 = FUN_000b0300()" identifier = (call_expression "FUN_000b0300()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" if (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" { (expression_statement "iVar2 = *(int *)(param_3 + 0x1d0);" (assignment_expression "iVar2 = *(int *)(param_3 + 0x1d0)" identifier = (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = extraout_EDX_01;" (assignment_expression "uVar5 = extraout_EDX_01" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" { (expression_statement "*(char **)((int)ppiVar11 + -8) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -8) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -8)" * (cast_expression "(char **)((int)ppiVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" * (cast_expression "(int **)((int)ppiVar11 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00093370();" (call_expression "FUN_00093370()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX_02;" (assignment_expression "uVar5 = extraout_EDX_02" identifier = identifier) ;) })) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cd0d2;" goto statement_identifier ;) })) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14) >> 2;" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14) >> 2" identifier = (binary_expression "*(uint *)(local_a4 + 0x14) >> 2" (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (local_c4 < 2) goto LAB_000cd55f;" if (parenthesized_expression "(local_c4 < 2)" ( (binary_expression "local_c4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;)) (expression_statement "local_cd = '\0';" (assignment_expression "local_cd = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_d9 = '\x01';" (assignment_expression "local_d9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_000cd114:\n        local_f8 = &local_98;" statement_identifier : (expression_statement "local_f8 = &local_98;" (assignment_expression "local_f8 = &local_98" identifier = (pointer_expression "&local_98" & identifier)) ;)) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "local_fc = &local_94;" (assignment_expression "local_fc = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" identifier = (cast_expression "(undefined1 *)ppiVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);" do (compound_statement "{\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        }" { (expression_statement "puVar14 = (uint *)local_c8[uVar13];" (assignment_expression "puVar14 = (uint *)local_c8[uVar13]" identifier = (cast_expression "(uint *)local_c8[uVar13]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[uVar13]" identifier [ identifier ]))) ;) (expression_statement "ppiVar11 = (int **)puVar8;" (assignment_expression "ppiVar11 = (int **)puVar8" identifier = (cast_expression "(int **)puVar8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" if (parenthesized_expression "(puVar14 < (uint *)0xff00)" ( (binary_expression "puVar14 < (uint *)0xff00" identifier < (cast_expression "(uint *)0xff00" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }" { (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;) (if_statement "if (local_cd != '\0') goto LAB_000cd246;" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd246;" goto statement_identifier ;)) (labeled_statement "LAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" statement_identifier : (if_statement "if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" if (parenthesized_expression "((uint *)param_1[10] <= local_98)" ( (binary_expression "(uint *)param_1[10] <= local_98" (cast_expression "(uint *)param_1[10]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_000cd275;" goto statement_identifier ;))) (labeled_statement "LAB_000cd15f:\n            puVar14 = local_98;" statement_identifier : (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" identifier = identifier) ;)) (if_statement "if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" if (parenthesized_expression "(local_98 < param_4)" ( (binary_expression "local_98 < param_4" identifier < identifier) )) (compound_statement "{\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" { (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3a017" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd455;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd455" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)(puVar8 + -4) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -4) = puVar14" (pointer_expression "*(uint **)(puVar8 + -4)" * (cast_expression "(uint **)(puVar8 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar8 + -8) = param_4;" (assignment_expression "*(uint **)(puVar8 + -8) = param_4" (pointer_expression "*(uint **)(puVar8 + -8)" * (cast_expression "(uint **)(puVar8 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd465;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd465" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);" (assignment_expression "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28)" identifier = (cast_expression "(uint *)(param_6 + (int)local_98 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + (int)local_98 * 0x28)" ( (binary_expression "param_6 + (int)local_98 * 0x28" identifier + (binary_expression "(int)local_98 * 0x28" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (if_statement "if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" if (parenthesized_expression "(*puVar14 < param_8)" ( (binary_expression "*puVar14 < param_8" (pointer_expression "*puVar14" * identifier) < identifier) )) (compound_statement "{\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" { (expression_statement "local_d4 = local_68;" (assignment_expression "local_d4 = local_68" identifier = identifier) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;) (expression_statement "uVar7 = *puVar14 + param_7;" (assignment_expression "uVar7 = *puVar14 + param_7" identifier = (binary_expression "*puVar14 + param_7" (pointer_expression "*puVar14" * identifier) + identifier)) ;) (if_statement "if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" { (expression_statement "*(uint *)(puVar8 + -0x10) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0x10) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0x10)" * (cast_expression "(uint *)(puVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_e4 = uVar7;" (assignment_expression "local_e4 = uVar7" identifier = identifier) ;) (expression_statement "sVar4 = strlen(*(char **)(puVar8 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)(puVar8 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar8 + -0x10))" identifier (argument_list "(*(char **)(puVar8 + -0x10))" ( (pointer_expression "*(char **)(puVar8 + -0x10)" * (cast_expression "(char **)(puVar8 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar2 = sVar4 + local_e4;" (assignment_expression "iVar2 = sVar4 + local_e4" identifier = (binary_expression "sVar4 + local_e4" identifier + identifier)) ;) (expression_statement "uVar7 = local_e4;" (assignment_expression "uVar7 = local_e4" identifier = identifier) ;) })) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -8) = iVar2;" (assignment_expression "*(int *)(puVar8 + -8) = iVar2" (pointer_expression "*(int *)(puVar8 + -8)" * (cast_expression "(int *)(puVar8 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar8 + -0xc) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0xc) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0xc)" * (cast_expression "(uint *)(puVar8 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar8 + -0x10) = &local_70;" (assignment_expression "*(undefined1 ***)(puVar8 + -0x10) = &local_70" (pointer_expression "*(undefined1 ***)(puVar8 + -0x10)" * (cast_expression "(undefined1 ***)(puVar8 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_70" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" if (parenthesized_expression "(local_ce == '\0')" ( (binary_expression "local_ce == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" { (expression_statement "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);" (assignment_expression "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" identifier = (cast_expression "(uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_9 + ((uint)local_98 >> 5) * 4)" ( (binary_expression "*param_9 + ((uint)local_98 >> 5) * 4" (pointer_expression "*param_9" * identifier) + (binary_expression "((uint)local_98 >> 5) * 4" (parenthesized_expression "((uint)local_98 >> 5)" ( (binary_expression "(uint)local_98 >> 5" (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) * number_literal)) )))) ;) (expression_statement "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);" (assignment_expression "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" * identifier) = (binary_expression "*puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" * identifier) | (binary_expression "1 << ((byte)local_98 & 0x1f)" number_literal << (parenthesized_expression "((byte)local_98 & 0x1f)" ( (binary_expression "(byte)local_98 & 0x1f" (cast_expression "(byte)local_98" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" if (parenthesized_expression "((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))))" ( (binary_expression "(local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" ( (parenthesized_expression "(local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))" ( (binary_expression "local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')" (binary_expression "local_c4 == 2" identifier == number_literal) || (parenthesized_expression "(*(char *)(local_9c + 8) != '\0')" ( (binary_expression "*(char *)(local_9c + 8) != '\0'" (pointer_expression "*(char *)(local_9c + 8)" * (cast_expression "(char *)(local_9c + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" { (expression_statement "local_54 = puVar14[5];" (assignment_expression "local_54 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "local_58 = local_98;" (assignment_expression "local_58 = local_98" identifier = identifier) ;) (expression_statement "local_4c = local_9c;" (assignment_expression "local_4c = local_9c" identifier = identifier) ;) (expression_statement "*(uint ***)(puVar8 + -8) = &local_58;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_58" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (pointer_expression "&local_58" & identifier)) ;) (expression_statement "local_48 = local_d8;" (assignment_expression "local_48 = local_d8" identifier = identifier) ;) (expression_statement "*(int **)(puVar8 + -0xc) = param_1 + 0x41;" (assignment_expression "*(int **)(puVar8 + -0xc) = param_1 + 0x41" (pointer_expression "*(int **)(puVar8 + -0xc)" * (cast_expression "(int **)(puVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (binary_expression "param_1 + 0x41" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_bc;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_bc" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" * (cast_expression "(undefined1 **)(puVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c7070();" (call_expression "FUN_000c7070()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) })) }) (else_clause "else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" else (if_statement "if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" if (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" { (expression_statement "local_e4 = puVar14[5];" (assignment_expression "local_e4 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = local_98;" (assignment_expression "local_f0 = local_98" identifier = identifier) ;) (if_statement "if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "(*(char *)(local_9c + 8) == '\0')" ( (binary_expression "*(char *)(local_9c + 8) == '\0'" (pointer_expression "*(char *)(local_9c + 8)" * (cast_expression "(char *)(local_9c + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" { (expression_statement "*(int *)(puVar8 + -4) = local_9c;" (assignment_expression "*(int *)(puVar8 + -4) = local_9c" (pointer_expression "*(int *)(puVar8 + -4)" * (cast_expression "(int *)(puVar8 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;" (assignment_expression "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b" (pointer_expression "*(undefined ***)(puVar8 + -8)" * (cast_expression "(undefined ***)(puVar8 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x39e6b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 0x135;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 0x135" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3ad16" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;" (assignment_expression "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825" (pointer_expression "*(undefined1 **)(puVar8 + -0x14)" * (cast_expression "(undefined1 **)(puVar8 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_000cd825" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_f4 = *(undefined4 *)(local_9c + 0xc);" (assignment_expression "local_f4 = *(undefined4 *)(local_9c + 0xc)" identifier = (pointer_expression "*(undefined4 *)(local_9c + 0xc)" * (cast_expression "(undefined4 *)(local_9c + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0xc)" ( (binary_expression "local_9c + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c;" (assignment_expression "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c" (pointer_expression "*(undefined1 **)(puVar8 + -8)" * (cast_expression "(undefined1 **)(puVar8 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (binary_expression "local_70 + local_6c" identifier + identifier)) ;) (expression_statement "*(undefined1 **)(puVar8 + -0xc) = local_70;" (assignment_expression "*(undefined1 **)(puVar8 + -0xc) = local_70" (pointer_expression "*(undefined1 **)(puVar8 + -0xc)" * (cast_expression "(undefined1 **)(puVar8 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint ***)(puVar8 + -0x10) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -0x10) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -0x10)" * (cast_expression "(uint ***)(puVar8 + -0x10)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = &local_38;" (assignment_expression "local_40 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "FUN_0007c4c0();" (call_expression "FUN_0007c4c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint ***)(puVar8 + -8) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_24 = local_e4;" (assignment_expression "local_24 = local_e4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = local_f4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = local_f4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_b4;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_b4" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" * (cast_expression "(undefined1 **)(puVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = local_f0;" (assignment_expression "local_28 = local_f0" identifier = identifier) ;) (expression_statement "local_20 = local_e0;" (assignment_expression "local_20 = local_e0" identifier = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c4080();" (call_expression "FUN_000c4080()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (if_statement "if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" if (parenthesized_expression "(local_40 != &local_38)" ( (binary_expression "local_40 != &local_38" identifier != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" { (expression_statement "*(uint **)(puVar8 + -0x14) = local_40;" (assignment_expression "*(uint **)(puVar8 + -0x14) = local_40" (pointer_expression "*(uint **)(puVar8 + -0x14)" * (cast_expression "(uint **)(puVar8 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0xcd637;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0xcd637" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" * (cast_expression "(undefined4 *)(puVar8 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x18)" ( (binary_expression "puVar8 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) })) })))) (if_statement "if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" if (parenthesized_expression "(local_70 != local_d4)" ( (binary_expression "local_70 != local_d4" identifier != identifier) )) (compound_statement "{\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" { (expression_statement "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70;" (assignment_expression "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70" (pointer_expression "*(undefined1 **)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined1 **)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" else (compound_statement "{\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" { (expression_statement "*(int **)(puVar8 + -0x10) = local_cc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_cc" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd227;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd227" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c47d0();" (call_expression "FUN_000c47d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" identifier = (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + param_1[0x29])" ( (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) )))) ;) (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;) (if_statement "if (local_cd == '\0') goto LAB_000cd153;" if (parenthesized_expression "(local_cd == '\0')" ( (binary_expression "local_cd == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;)) (labeled_statement "LAB_000cd246:\n            local_98 = puVar14;" statement_identifier : (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;)) (if_statement "if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" if (parenthesized_expression "(local_90 == local_8c)" ( (binary_expression "local_90 == local_8c" identifier == identifier) )) (compound_statement "{\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" { (expression_statement "*(uint ***)(puVar8 + -8) = local_f8;" (assignment_expression "*(uint ***)(puVar8 + -8) = local_f8" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar8 + -0xc) = local_90;" (assignment_expression "*(undefined4 **)(puVar8 + -0xc) = local_90" (pointer_expression "*(undefined4 **)(puVar8 + -0xc)" * (cast_expression "(undefined4 **)(puVar8 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = local_fc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_fc" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd655;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd655" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0009acc0();" (call_expression "FUN_0009acc0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;) })) (expression_statement "*local_90 = puVar14;" (assignment_expression "*local_90 = puVar14" (pointer_expression "*local_90" * identifier) = identifier) ;) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (if_statement "if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;" if (parenthesized_expression "(puVar14 < (uint *)param_1[10])" ( (binary_expression "puVar14 < (uint *)param_1[10]" identifier < (cast_expression "(uint *)param_1[10]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000cd15f;" goto statement_identifier ;)) (labeled_statement "LAB_000cd275:\n            puVar14 = local_98;" statement_identifier : (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3a022" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)(puVar8 + -4) = param_4;" (assignment_expression "*(uint **)(puVar8 + -4) = param_4" (pointer_expression "*(uint **)(puVar8 + -4)" * (cast_expression "(uint **)(puVar8 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar8 + -8) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -8) = puVar14" (pointer_expression "*(uint **)(puVar8 + -8)" * (cast_expression "(uint **)(puVar8 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" identifier = (cast_expression "(undefined1 *)ppiVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(uVar13 < local_c4)" ( (binary_expression "uVar13 < local_c4" identifier < identifier) )) ;) (if_statement "if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" { (labeled_statement "LAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;" statement_identifier : (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;)) (expression_statement "*(uint *)((int)ppiVar11 + -0x14) = local_e8;" (assignment_expression "*(uint *)((int)ppiVar11 + -0x14) = local_e8" (pointer_expression "*(uint *)((int)ppiVar11 + -0x14)" * (cast_expression "(uint *)((int)ppiVar11 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = &local_a4;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = &local_a4" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" * (cast_expression "(int **)((int)ppiVar11 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x18)" ( (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_a4" & identifier)) ;) (expression_statement "*(char **)((int)ppiVar11 + -0x1c) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x1c) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x1c)" * (cast_expression "(char **)((int)ppiVar11 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x1c)" ( (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x20)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x20)" ( (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)((int)ppiVar11 + -0x24) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x24) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x24)" * (cast_expression "(uint **)((int)ppiVar11 + -0x24)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x24)" ( (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x28) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x28) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x28)" * (cast_expression "(int **)((int)ppiVar11 + -0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x28)" ( (binary_expression "(int)ppiVar11 + -0x28" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x2c)" ( (binary_expression "(int)ppiVar11 + -0x2c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x30) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x30) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x30)" * (cast_expression "(int *)((int)ppiVar11 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x30)" ( (binary_expression "(int)ppiVar11 + -0x30" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x34)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x34)" ( (binary_expression "(int)ppiVar11 + -0x34" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b9ec0();" (call_expression "FUN_000b9ec0()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" { (expression_statement "*(int *)((int)ppiVar11 + -0x10) = local_94;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = local_94" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }" statement_identifier : (if_statement "if (local_88[0] == local_ec) {\n        return local_ce;\n      }" if (parenthesized_expression "(local_88[0] == local_ec)" ( (binary_expression "local_88[0] == local_ec" (subscript_expression "local_88[0]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n        return local_ce;\n      }" { (return_statement "return local_ce;" return identifier ;) }))) (expression_statement "*(char **)((int)ppiVar11 + -0x10) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x10) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" * (cast_expression "(char **)((int)ppiVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (return_statement "return local_ce;" return identifier ;) })) }))) (expression_statement "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;" (assignment_expression "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035" (pointer_expression "*(undefined ***)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined ***)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x3a035" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" * (cast_expression "(uint *)((int)ppiVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -4)" ( (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppuVar10 = (uint **)((int)ppiVar9 + -8);" (assignment_expression "ppuVar10 = (uint **)((int)ppiVar9 + -8)" identifier = (cast_expression "(uint **)((int)ppiVar9 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint *)((int)ppiVar9 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar9 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar9 + -8)" * (cast_expression "(uint *)((int)ppiVar9 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;" statement_identifier : (expression_statement "*(undefined4 *)((int)ppuVar10 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -4)" * (cast_expression "(undefined4 *)((int)ppuVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar10 + -4)" ( (binary_expression "(int)ppuVar10 + -4" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)((int)ppuVar10 + -8) = param_1;" (assignment_expression "*(int **)((int)ppuVar10 + -8) = param_1" (pointer_expression "*(int **)((int)ppuVar10 + -8)" * (cast_expression "(int **)((int)ppuVar10 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar10 + -8)" ( (binary_expression "(int)ppuVar10 + -8" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -0xc)" * (cast_expression "(undefined4 *)((int)ppuVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar10 + -0xc)" ( (binary_expression "(int)ppuVar10 + -0xc" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool include_section_group(Sized_relobj_file<32,_false> * this,\n   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *\n   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)\n    */\n\nbool __thiscall\ngold::Sized_relobj_file<32,_false>::include_section_group\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;\n  int iVar3;\n  Input_file *pIVar4;\n  uint flags;\n  _func_int_varargs *p_Var5;\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;\n  Elf_Word EVar6;\n  uint *puVar7;\n  Elf_file<32,_false,_gold::Object> *this_01;\n  uchar *puVar8;\n  uint *puVar9;\n  char *pcVar10;\n  Xindex *this_02;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  off_t start;\n  Object *in_stack_ffffff04;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> *this_03;\n  bool local_d9;\n  char local_ce;\n  char local_cd;\n  uint local_c4;\n  Shdr shdr;\n  section_size_type symnamelen;\n  Kept_section *kept_section;\n  Elf_Word shndx;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> shndxes;\n  string signature;\n  string mname;\n  pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section> local_58;\n  Location loc;\n  \n  shdr.p_ = (Shdr_data<32> *)(shdrs + index * 0x28);\n  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n  if (pIVar4 == (Input_file *)0x0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file(in_stack_ffffff04);\n  }\n  puVar7 = (uint *)File_read::get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,\n                                       (shdr.p_)->sh_size,true,false);\n  flags = *puVar7;\n  uVar11 = (shdr.p_)->sh_link;\n  this_01 = &this->elf_file_;\n  if (0xfeff < uVar11) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_;\n  }\n  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset(this_01,uVar11);\n  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n  if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n  puVar8 = File_read::get_view(&pIVar4->file_,\n                               (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                               offset_,start,0x28,true,true);\n  uVar11 = (shdr.p_)->sh_info;\n  if (*(uint *)(puVar8 + 0x14) >> 4 <= uVar11) {\n    pcVar10 = (char *)gettext();\n    goto LAB_000cd301;\n  }\n  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n  if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n  puVar9 = (uint *)File_read::get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,\n                                       (ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10)),0x10,\n                                       true,false);\n  uVar12 = *(uint *)(puVar8 + 0x18);\n  if (0xfeff < uVar12) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_;\n  }\n  p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];\n  if (p_Var5 == do_section_contents) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_contents(this_01,uVar12);\n    if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if ((section_size_type)loc.data_size == 0) {\n      uVar12 = *puVar9;\n    }\n    else {\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puVar8 = (uchar *)(*p_Var5)();\n    uVar12 = *puVar9;\n    if (uVar12 < symnamelen) {\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }\n  }\n  pcVar10 = (char *)gettext();\n  index = uVar11;\n  uVar11 = uVar12;\nLAB_000cd301:\n  Object::error((Object *)this,pcVar10,index,uVar11);\n  return false;\n}\n\n" comment comment comment comment comment (declaration "bool __thiscall\ngold::Sized_relobj_file<32,_false>::include_section_group\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::include_section_group\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{" identifier > : : (function_declarator "include_section_group\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)" identifier (parameter_list "(Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "uint index" type_identifier identifier) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "uchar *shdrs" type_identifier (pointer_declarator "*shdrs" * identifier)) , (parameter_declaration "char *section_names" primitive_type (pointer_declarator "*section_names" * identifier)) , (parameter_declaration "section_size_type section_names_size" type_identifier identifier) , (parameter_declaration "vector" type_identifier) (ERROR "<bool" < primitive_type) , (parameter_declaration "_std::allocator<bool>_> *omit" type_identifier (ERROR "::allocator<bool>_>" : : identifier < primitive_type > identifier >) (pointer_declarator "*omit" * identifier)) ))) {) identifier (ERROR "<char" < primitive_type) , (ERROR "_std::" identifier : :) identifier (ERROR "<char>" < primitive_type >) , (ERROR "_std::allocator<char>_>_9" identifier : : identifier < primitive_type > identifier > identifier) (pointer_declarator "*paVar1" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (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 "int iVar3;" primitive_type identifier ;) (declaration "Input_file *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "uint flags;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (ERROR "_Rb_tree<std::" (binary_expression "_Rb_tree<std" identifier < identifier) : :) (labeled_statement "__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;" statement_identifier (ERROR "::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold:" : : (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 "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , identifier) : : (binary_expression "less<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) :) : (labeled_statement "Kept_section::Comdat_section_info>_>_>\n  *this_00;" statement_identifier : (ERROR ":" :) (expression_statement "Comdat_section_info>_>_>\n  *this_00;" (binary_expression "Comdat_section_info>_>_>\n  *this_00" (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > (pointer_expression "*this_00" * identifier)) ;))) (declaration "Elf_Word EVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (ERROR "Elf_file<32,_false," (binary_expression "Elf_file<32" identifier < number_literal) , identifier ,) (labeled_statement "_gold::Object> *this_01;" statement_identifier : (ERROR ":" :) (expression_statement "Object> *this_01;" (binary_expression "Object> *this_01" identifier > (pointer_expression "*this_01" * identifier)) ;)) (declaration "uchar *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "Xindex *this_02;" type_identifier (pointer_declarator "*this_02" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "off_t start;" type_identifier identifier ;) (declaration "Object *in_stack_ffffff04;" type_identifier (pointer_declarator "*in_stack_ffffff04" * identifier) ;) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> *this_03;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> *this_03;" (binary_expression "allocator<unsigned_int>_> *this_03" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*this_03" * identifier)) ;)) (declaration "bool local_d9;" primitive_type identifier ;) (declaration "char local_ce;" primitive_type identifier ;) (declaration "char local_cd;" primitive_type identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (declaration "section_size_type symnamelen;" type_identifier identifier ;) (declaration "Kept_section *kept_section;" type_identifier (pointer_declarator "*kept_section" * identifier) ;) (declaration "Elf_Word shndx;" type_identifier identifier ;) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> shndxes;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> shndxes;" (binary_expression "allocator<unsigned_int>_> shndxes" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (declaration "string signature;" type_identifier identifier ;) (declaration "string mname;" type_identifier identifier ;) (ERROR "pair<unsigned_int," (binary_expression "pair<unsigned_int" identifier < identifier) ,) (labeled_statement "_gold::Sized_relobj_file<32,_false>::Kept_comdat_section> local_58;" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<32,_false>::Kept_comdat_section> local_58;" (comma_expression "Sized_relobj_file<32,_false>::Kept_comdat_section> local_58" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Kept_comdat_section> local_58" (binary_expression "_false>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier)) ;)) (declaration "Location loc;" type_identifier identifier ;) (expression_statement "shdr.p_ = (Shdr_data<32> *)(shdrs + index * 0x28);" (assignment_expression "shdr.p_ = (Shdr_data<32> *)(shdrs + index * 0x28)" (field_expression "shdr.p_" identifier . field_identifier) = (call_expression "(Shdr_data<32> *)(shdrs + index * 0x28)" (parenthesized_expression "(Shdr_data<32> *)" ( (binary_expression "Shdr_data<32> *" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(shdrs + index * 0x28)" ( (binary_expression "shdrs + index * 0x28" identifier + (binary_expression "index * 0x28" identifier * number_literal)) )))) ;) (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar4 == (Input_file *)0x0) {\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file(in_stack_ffffff04);\n  }" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file(in_stack_ffffff04);\n  }" { (labeled_statement "LAB_000cd7c6:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file(in_stack_ffffff04);" statement_identifier : comment (labeled_statement "Object::input_file(in_stack_ffffff04);" statement_identifier : (ERROR ":" :) (expression_statement "input_file(in_stack_ffffff04);" (call_expression "input_file(in_stack_ffffff04)" identifier (argument_list "(in_stack_ffffff04)" ( identifier ))) ;))) })) (ERROR "puVar7 = (uint *)File_read::" (assignment_expression "puVar7 = (uint *)File_read" identifier = (cast_expression "(uint *)File_read" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,\n                                       (shdr.p_)->sh_size,true,false);" (call_expression "get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,\n                                       (shdr.p_)->sh_size,true,false)" identifier (argument_list "(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,\n                                       (shdr.p_)->sh_size,true,false)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (field_expression "(ulonglong)(shdr.p_)->sh_offset" (call_expression "(ulonglong)(shdr.p_)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) ))) -> field_identifier) , (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) , true , false ))) ;) (expression_statement "flags = *puVar7;" (assignment_expression "flags = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "uVar11 = (shdr.p_)->sh_link;" (assignment_expression "uVar11 = (shdr.p_)->sh_link" identifier = (field_expression "(shdr.p_)->sh_link" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "this_01 = &this->elf_file_;" (assignment_expression "this_01 = &this->elf_file_" identifier = (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier))) ;) (if_statement "if (0xfeff < uVar11) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_;\n  }" if (parenthesized_expression "(0xfeff < uVar11)" ( (binary_expression "0xfeff < uVar11" number_literal < identifier) )) (compound_statement "{\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_;\n  }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(this_01);" (call_expression "initialize_shnum(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;)) (expression_statement "uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar11 = uVar11 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar11 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (ERROR "start = elfcpp::Elf_file<32,_false," (binary_expression "start = elfcpp::Elf_file<32" (assignment_expression "start = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Object>::section_header_offset(this_01,uVar11);" statement_identifier (ERROR "::Object>:" : : identifier > :) : (expression_statement "section_header_offset(this_01,uVar11);" (call_expression "section_header_offset(this_01,uVar11)" identifier (argument_list "(this_01,uVar11)" ( identifier , identifier ))) ;)) (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (ERROR "puVar8 = File_read::" (assignment_expression "puVar8 = File_read" identifier = identifier) : :) (expression_statement "get_view(&pIVar4->file_,\n                               (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                               offset_,start,0x28,true,true);" (call_expression "get_view(&pIVar4->file_,\n                               (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                               offset_,start,0x28,true,true)" identifier (argument_list "(&pIVar4->file_,\n                               (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                               offset_,start,0x28,true,true)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                               offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , identifier , number_literal , true , true ))) ;) (expression_statement "uVar11 = (shdr.p_)->sh_info;" (assignment_expression "uVar11 = (shdr.p_)->sh_info" identifier = (field_expression "(shdr.p_)->sh_info" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if (*(uint *)(puVar8 + 0x14) >> 4 <= uVar11) {\n    pcVar10 = (char *)gettext();\n    goto LAB_000cd301;\n  }" if (parenthesized_expression "(*(uint *)(puVar8 + 0x14) >> 4 <= uVar11)" ( (binary_expression "*(uint *)(puVar8 + 0x14) >> 4 <= uVar11" (binary_expression "*(uint *)(puVar8 + 0x14) >> 4" (pointer_expression "*(uint *)(puVar8 + 0x14)" * (cast_expression "(uint *)(puVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x14)" ( (binary_expression "puVar8 + 0x14" identifier + number_literal) )))) >> number_literal) <= identifier) )) (compound_statement "{\n    pcVar10 = (char *)gettext();\n    goto LAB_000cd301;\n  }" { (expression_statement "pcVar10 = (char *)gettext();" (assignment_expression "pcVar10 = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_000cd301;" goto statement_identifier ;) })) (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (ERROR "puVar9 = (uint *)File_read::" (assignment_expression "puVar9 = (uint *)File_read" identifier = (cast_expression "(uint *)File_read" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,\n                                       (ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10)),0x10,\n                                       true,false);" (call_expression "get_view(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,\n                                       (ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10)),0x10,\n                                       true,false)" identifier (argument_list "(&pIVar4->file_,\n                                       (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_,\n                                       (ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10)),0x10,\n                                       true,false)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object.offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                       super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (call_expression "(ulonglong)(uVar11 * 0x10 + *(int *)(puVar8 + 0x10))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar11 * 0x10 + *(int *)(puVar8 + 0x10))" ( (binary_expression "uVar11 * 0x10 + *(int *)(puVar8 + 0x10)" (binary_expression "uVar11 * 0x10" identifier * number_literal) + (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))) ))) , number_literal , true , false ))) ;) (expression_statement "uVar12 = *(uint *)(puVar8 + 0x18);" (assignment_expression "uVar12 = *(uint *)(puVar8 + 0x18)" identifier = (pointer_expression "*(uint *)(puVar8 + 0x18)" * (cast_expression "(uint *)(puVar8 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x18)" ( (binary_expression "puVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar12) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_;\n  }" if (parenthesized_expression "(0xfeff < uVar12)" ( (binary_expression "0xfeff < uVar12" number_literal < identifier) )) (compound_statement "{\n    elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n    uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_;\n  }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(this_01);" (call_expression "initialize_shnum(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;)) (expression_statement "uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar12 = uVar12 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar12 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];" (assignment_expression "p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe]" identifier = (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var5 == do_section_contents) {\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_contents(this_01,uVar12);\n    if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if ((section_size_type)loc.data_size == 0) {\n      uVar12 = *puVar9;\n    }\n    else {\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puVar8 = (uchar *)(*p_Var5)();\n    uVar12 = *puVar9;\n    if (uVar12 < symnamelen) {\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }\n  }" if (parenthesized_expression "(p_Var5 == do_section_contents)" ( (binary_expression "p_Var5 == do_section_contents" identifier == identifier) )) (compound_statement "{\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_contents(this_01,uVar12);\n    if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if ((section_size_type)loc.data_size == 0) {\n      uVar12 = *puVar9;\n    }\n    else {\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }\n  }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::section_contents(this_01,uVar12);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_contents(this_01,uVar12);" (call_expression "section_contents(this_01,uVar12)" identifier (argument_list "(this_01,uVar12)" ( identifier , identifier ))) ;)) (if_statement "if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(loc.data_size._4_4_ != 0)" ( (binary_expression "loc.data_size._4_4_ != 0" (field_expression "loc.data_size._4_4_" (field_expression "loc.data_size" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (if_statement "if ((section_size_type)loc.data_size == 0) {\n      uVar12 = *puVar9;\n    }\n    else {\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }" if (parenthesized_expression "((section_size_type)loc.data_size == 0)" ( (binary_expression "(section_size_type)loc.data_size == 0" (cast_expression "(section_size_type)loc.data_size" ( (type_descriptor "section_size_type" type_identifier) ) (field_expression "loc.data_size" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n      uVar12 = *puVar9;\n    }" { (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) }) (else_clause "else {\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }" else (compound_statement "{\n      pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n      if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;\n      puVar8 = File_read::get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);\n      uVar12 = *puVar9;\n      if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;\n    }" { (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar4 == (Input_file *)0x0) goto LAB_000cd7c6;" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (ERROR "puVar8 = File_read::" (assignment_expression "puVar8 = File_read" identifier = identifier) : :) (expression_statement "get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true);" (call_expression "get_view(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true)" identifier (argument_list "(&pIVar4->file_,\n                                   (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_,CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                   (section_size_type)loc.data_size,true,true)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                   offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (call_expression "CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset)" identifier (argument_list "(loc.file_offset._4_4_,(off_t *)loc.file_offset)" ( (field_expression "loc.file_offset._4_4_" (field_expression "loc.file_offset" identifier . field_identifier) . field_identifier) , (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) ))) , (cast_expression "(section_size_type)loc.data_size" ( (type_descriptor "section_size_type" type_identifier) ) (field_expression "loc.data_size" identifier . field_identifier)) , true , true ))) ;) (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (if_statement "if (uVar12 < (section_size_type)loc.data_size) goto LAB_000cd02a;" if (parenthesized_expression "(uVar12 < (section_size_type)loc.data_size)" ( (binary_expression "uVar12 < (section_size_type)loc.data_size" identifier < (cast_expression "(section_size_type)loc.data_size" ( (type_descriptor "section_size_type" type_identifier) ) (field_expression "loc.data_size" identifier . field_identifier))) )) (goto_statement "goto LAB_000cd02a;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    puVar8 = (uchar *)(*p_Var5)();\n    uVar12 = *puVar9;\n    if (uVar12 < symnamelen) {\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }\n  }" else (compound_statement "{\n    puVar8 = (uchar *)(*p_Var5)();\n    uVar12 = *puVar9;\n    if (uVar12 < symnamelen) {\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }\n  }" { (expression_statement "puVar8 = (uchar *)(*p_Var5)();" (assignment_expression "puVar8 = (uchar *)(*p_Var5)()" identifier = (cast_expression "(uchar *)(*p_Var5)()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var5)()" (parenthesized_expression "(*p_Var5)" ( (pointer_expression "*p_Var5" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (if_statement "if (uVar12 < symnamelen) {\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }" if (parenthesized_expression "(uVar12 < symnamelen)" ( (binary_expression "uVar12 < symnamelen" identifier < identifier) )) (compound_statement "{\nLAB_000cd02a:\n      paVar1 = &signature.field_2;\n      signature._M_dataplus._M_p = (pointer)paVar1;\n      if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();\n      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      kept_section = (Kept_section *)0x0;\n      if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }\n      if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }\nLAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }\n      operator_delete(signature._M_dataplus._M_p);\n      return (bool)local_ce;\n    }" { (labeled_statement "LAB_000cd02a:\n      paVar1 = &signature.field_2;" statement_identifier : (expression_statement "paVar1 = &signature.field_2;" (assignment_expression "paVar1 = &signature.field_2" identifier = (pointer_expression "&signature.field_2" & (field_expression "signature.field_2" identifier . field_identifier))) ;)) (expression_statement "signature._M_dataplus._M_p = (pointer)paVar1;" (assignment_expression "signature._M_dataplus._M_p = (pointer)paVar1" (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (puVar8 + uVar12 != (uchar *)0x0) {\n        strlen((char *)(puVar8 + uVar12));\n      }" if (parenthesized_expression "(puVar8 + uVar12 != (uchar *)0x0)" ( (binary_expression "puVar8 + uVar12 != (uchar *)0x0" (binary_expression "puVar8 + uVar12" identifier + identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        strlen((char *)(puVar8 + uVar12));\n      }" { (expression_statement "strlen((char *)(puVar8 + uVar12));" (call_expression "strlen((char *)(puVar8 + uVar12))" identifier (argument_list "((char *)(puVar8 + uVar12))" ( (cast_expression "(char *)(puVar8 + uVar12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + uVar12)" ( (binary_expression "puVar8 + uVar12" identifier + identifier) ))) ))) ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>();" 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*>();" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (if_statement "if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" if (parenthesized_expression "((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3))" ( (binary_expression "(*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)" (parenthesized_expression "(*signature._M_dataplus._M_p == '\0')" ( (binary_expression "*signature._M_dataplus._M_p == '\0'" (pointer_expression "*signature._M_dataplus._M_p" * (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar9[3] & 0xf) == 3)" ( (binary_expression "(puVar9[3] & 0xf) == 3" (parenthesized_expression "(puVar9[3] & 0xf)" ( (binary_expression "puVar9[3] & 0xf" (subscript_expression "puVar9[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);\n        if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }\n        pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */\n        Object::error((Object *)this,pcVar10,uVar11,uVar12);\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" { (expression_statement "uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe);" (assignment_expression "uVar12 = (uint)*(ushort *)((int)puVar9 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar9 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar9 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xe)" ( (binary_expression "(int)puVar9 + 0xe" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar12 < 0xff00) {\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar12 < 0xff00)" ( (binary_expression "uVar12 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }\n        }" { (labeled_statement "LAB_000cd408:\n          if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }" statement_identifier : (if_statement "if (uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_) {\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }" if (parenthesized_expression "(uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)" ( (binary_expression "uVar12 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" identifier < (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) )) (compound_statement "{\n            if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }\n            goto LAB_000cd084;\n          }" { (if_statement "if (*(uint *)(shdrs + uVar12 * 0x28) < section_names_size) {\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }" if (parenthesized_expression "(*(uint *)(shdrs + uVar12 * 0x28) < section_names_size)" ( (binary_expression "*(uint *)(shdrs + uVar12 * 0x28) < section_names_size" (pointer_expression "*(uint *)(shdrs + uVar12 * 0x28)" * (cast_expression "(uint *)(shdrs + uVar12 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(shdrs + uVar12 * 0x28)" ( (binary_expression "shdrs + uVar12 * 0x28" identifier + (binary_expression "uVar12 * 0x28" identifier * number_literal)) )))) < identifier) )) (compound_statement "{\n              std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));\n            }" { (labeled_statement "std::string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));" statement_identifier : (ERROR ":" :) (labeled_statement "string::assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));" statement_identifier : (ERROR ":" :) (expression_statement "assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28));" (call_expression "assign((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28))" identifier (argument_list "((string *)&signature,\n                                  section_names + *(uint *)(shdrs + uVar12 * 0x28))" ( (cast_expression "(string *)&signature" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&signature" & identifier)) , (binary_expression "section_names + *(uint *)(shdrs + uVar12 * 0x28)" identifier + (pointer_expression "*(uint *)(shdrs + uVar12 * 0x28)" * (cast_expression "(uint *)(shdrs + uVar12 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(shdrs + uVar12 * 0x28)" ( (binary_expression "shdrs + uVar12 * 0x28" identifier + (binary_expression "uVar12 * 0x28" identifier * number_literal)) ))))) ))) ;))) })) (goto_statement "goto LAB_000cd084;" goto statement_identifier ;) }))) }) (else_clause "else if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }" else (if_statement "if (uVar12 == 0xffff) {\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar12 == 0xffff)" ( (binary_expression "uVar12 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }\n          uVar12 = Xindex::sym_xindex_to_shndx(this_02,(Object *)this,uVar11);\n          goto LAB_000cd408;\n        }" { (expression_statement "this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;" (assignment_expression "this_02 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_02 == (Xindex *)0x0) {\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }" if (parenthesized_expression "(this_02 == (Xindex *)0x0)" ( (binary_expression "this_02 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */\n            this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();\n            (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;\n          }" { comment (expression_statement "this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])();" (assignment_expression "this_02 = (Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])()" identifier = (cast_expression "(Xindex *)\n                      (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])()" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])()" (parenthesized_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b])" ( (pointer_expression "*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b]" * (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                        [0x1b]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "()" ( ))))) ;) (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_02" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (ERROR "uVar12 = Xindex::" (assignment_expression "uVar12 = Xindex" identifier = identifier) : :) (expression_statement "sym_xindex_to_shndx(this_02,(Object *)this,uVar11);" (call_expression "sym_xindex_to_shndx(this_02,(Object *)this,uVar11)" identifier (argument_list "(this_02,(Object *)this,uVar11)" ( identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (goto_statement "goto LAB_000cd408;" goto statement_identifier ;) })))) (expression_statement "pcVar10 = (char *)gettext();" (assignment_expression "pcVar10 = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) comment (labeled_statement "Object::error((Object *)this,pcVar10,uVar11,uVar12);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar10,uVar11,uVar12);" (call_expression "error((Object *)this,pcVar10,uVar11,uVar12)" identifier (argument_list "((Object *)this,pcVar10,uVar11,uVar12)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;)) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;) })) (labeled_statement "LAB_000cd084:\n      kept_section = (Kept_section *)0x0;" statement_identifier : (expression_statement "kept_section = (Kept_section *)0x0;" (assignment_expression "kept_section = (Kept_section *)0x0" identifier = (cast_expression "(Kept_section *)0x0" ( (type_descriptor "Kept_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if ((flags & 1) == 0) {\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }" if (parenthesized_expression "((flags & 1) == 0)" ( (binary_expression "(flags & 1) == 0" (parenthesized_expression "(flags & 1)" ( (binary_expression "flags & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_c4 = (shdr.p_)->sh_size;\n        local_d9 = false;\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        local_cd = (parameters->options_->relocatable_).value;\n        if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }" { (expression_statement "local_c4 = (shdr.p_)->sh_size;" (assignment_expression "local_c4 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_d9 = false;" (assignment_expression "local_d9 = false" identifier = false) ;) (labeled_statement "LAB_000cd0d2:\n        local_c4 = local_c4 >> 2;" statement_identifier : (expression_statement "local_c4 = local_c4 >> 2;" (assignment_expression "local_c4 = local_c4 >> 2" identifier = (binary_expression "local_c4 >> 2" identifier >> number_literal)) ;)) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "local_cd = (parameters->options_->relocatable_).value;" (assignment_expression "local_cd = (parameters->options_->relocatable_).value" identifier = (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bool)local_cd != false) {\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" if (parenthesized_expression "((bool)local_cd != false)" ( (binary_expression "(bool)local_cd != false" (cast_expression "(bool)local_cd" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);\n          local_ce = local_cd;\n          if (1 < local_c4) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" { comment (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_c4 - 1);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "reserve(&shndxes,local_c4 - 1);" (call_expression "reserve(&shndxes,local_c4 - 1)" identifier (argument_list "(&shndxes,local_c4 - 1)" ( (pointer_expression "&shndxes" & identifier) , (binary_expression "local_c4 - 1" identifier - number_literal) ))) ;)) (expression_statement "local_ce = local_cd;" (assignment_expression "local_ce = local_cd" identifier = identifier) ;) (if_statement "if (1 < local_c4) goto LAB_000cd114;" if (parenthesized_expression "(1 < local_c4)" ( (binary_expression "1 < local_c4" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd50f;" goto statement_identifier ;) })) (expression_statement "local_ce = '\x01';" (assignment_expression "local_ce = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_c4) goto LAB_000cd114;" if (parenthesized_expression "(1 < local_c4)" ( (binary_expression "1 < local_c4" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) }) (else_clause "else {\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }" else (compound_statement "{\n                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */\n        local_d9 = Layout::find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n        if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;\n        local_ce = '\0';\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        local_c4 = (shdr.p_)->sh_size >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = true;\nLAB_000cd114:\n        uVar12 = 1;\n        this_03 = &shndxes;\n        do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }\n      }" { comment (ERROR "local_d9 = Layout::" (assignment_expression "local_d9 = Layout" identifier = identifier) : :) (expression_statement "find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section);" (call_expression "find_or_add_kept_section\n                             (layout,&signature,(Relobj *)this,index,true,true,&kept_section)" identifier (argument_list "(layout,&signature,(Relobj *)this,index,true,true,&kept_section)" ( identifier , (pointer_expression "&signature" & identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , true , true , (pointer_expression "&kept_section" & identifier) ))) ;) (if_statement "if (local_d9) {\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }" if (parenthesized_expression "(local_d9)" ( identifier )) (compound_statement "{\n          if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }\n          local_c4 = (shdr.p_)->sh_size;\n          goto LAB_000cd0d2;\n        }" { (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }" if (parenthesized_expression "(layout->incremental_inputs_ != (Incremental_inputs *)0x0)" ( (binary_expression "layout->incremental_inputs_ != (Incremental_inputs *)0x0" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n          }" { (labeled_statement "Incremental_inputs::report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);" (call_expression "report_comdat_group\n                      (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p)" identifier (argument_list "(layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p)" ( (field_expression "layout->incremental_inputs_" identifier -> field_identifier) , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;)) })) (expression_statement "local_c4 = (shdr.p_)->sh_size;" (assignment_expression "local_c4 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (goto_statement "goto LAB_000cd0d2;" goto statement_identifier ;) })) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n             (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n             (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n        _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "local_c4 = (shdr.p_)->sh_size >> 2;" (assignment_expression "local_c4 = (shdr.p_)->sh_size >> 2" identifier = (binary_expression "(shdr.p_)->sh_size >> 2" (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) >> number_literal)) ;) (if_statement "if (local_c4 < 2) goto LAB_000cd55f;" if (parenthesized_expression "(local_c4 < 2)" ( (binary_expression "local_c4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;)) (expression_statement "local_cd = '\0';" (assignment_expression "local_cd = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_d9 = true;" (assignment_expression "local_d9 = true" identifier = true) ;) (labeled_statement "LAB_000cd114:\n        uVar12 = 1;" statement_identifier : (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;)) (expression_statement "this_03 = &shndxes;" (assignment_expression "this_03 = &shndxes" identifier = (pointer_expression "&shndxes" & identifier)) ;) (do_statement "do {\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_c4);" do (compound_statement "{\n          uVar13 = puVar7[uVar12];\n          if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }\n          uVar12 = uVar12 + 1;\n        }" { (expression_statement "uVar13 = puVar7[uVar12];" (assignment_expression "uVar13 = puVar7[uVar12]" identifier = (subscript_expression "puVar7[uVar12]" identifier [ identifier ])) ;) (if_statement "if (uVar13 < 0xff00) {\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }\n          else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }" if (parenthesized_expression "(uVar13 < 0xff00)" ( (binary_expression "uVar13 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            shndx = uVar13;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;\nLAB_000cd15f:\n            EVar6 = shndx;\n            if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }\n            iVar3 = shndx * 0x28;\n            uVar13 = *(uint *)(shdrs + iVar3);\n            if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }\n          }" { (expression_statement "shndx = uVar13;" (assignment_expression "shndx = uVar13" identifier = identifier) ;) (if_statement "if (local_cd != '\0') goto LAB_000cd246;" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd246;" goto statement_identifier ;)) (labeled_statement "LAB_000cd153:\n            if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;" statement_identifier : (if_statement "if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)\n            goto LAB_000cd275;" if (parenthesized_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx)" ( (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= shndx" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= identifier) )) (goto_statement "goto LAB_000cd275;" goto statement_identifier ;))) (labeled_statement "LAB_000cd15f:\n            EVar6 = shndx;" statement_identifier : (expression_statement "EVar6 = shndx;" (assignment_expression "EVar6 = shndx" identifier = identifier) ;)) (if_statement "if (shndx < index) {\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }" if (parenthesized_expression "(shndx < index)" ( (binary_expression "shndx < index" identifier < identifier) )) (compound_statement "{\n              pcVar10 = (char *)gettext();\n                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */\n              Object::error((Object *)this,pcVar10,index,EVar6);\n            }" { (expression_statement "pcVar10 = (char *)gettext();" (assignment_expression "pcVar10 = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) comment (labeled_statement "Object::error((Object *)this,pcVar10,index,EVar6);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar10,index,EVar6);" (call_expression "error((Object *)this,pcVar10,index,EVar6)" identifier (argument_list "((Object *)this,pcVar10,index,EVar6)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;)) })) (expression_statement "iVar3 = shndx * 0x28;" (assignment_expression "iVar3 = shndx * 0x28" identifier = (binary_expression "shndx * 0x28" identifier * number_literal)) ;) (expression_statement "uVar13 = *(uint *)(shdrs + iVar3);" (assignment_expression "uVar13 = *(uint *)(shdrs + iVar3)" identifier = (pointer_expression "*(uint *)(shdrs + iVar3)" * (cast_expression "(uint *)(shdrs + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(shdrs + iVar3)" ( (binary_expression "shdrs + iVar3" identifier + identifier) ))))) ;) (if_statement "if (uVar13 < section_names_size) {\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }" if (parenthesized_expression "(uVar13 < section_names_size)" ( (binary_expression "uVar13 < section_names_size" identifier < identifier) )) (compound_statement "{\n              paVar2 = &mname.field_2;\n              mname._M_dataplus._M_p = (pointer)paVar2;\n              if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }\n                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._M_dataplus._M_p);\n              }\n            }" { (expression_statement "paVar2 = &mname.field_2;" (assignment_expression "paVar2 = &mname.field_2" identifier = (pointer_expression "&mname.field_2" & (field_expression "mname.field_2" identifier . field_identifier))) ;) (expression_statement "mname._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "mname._M_dataplus._M_p = (pointer)paVar2" (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (section_names + uVar13 != (char *)0x0) {\n                strlen(section_names + uVar13);\n              }" if (parenthesized_expression "(section_names + uVar13 != (char *)0x0)" ( (binary_expression "section_names + uVar13 != (char *)0x0" (binary_expression "section_names + uVar13" identifier + identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                strlen(section_names + uVar13);\n              }" { (expression_statement "strlen(section_names + uVar13);" (call_expression "strlen(section_names + uVar13)" identifier (argument_list "(section_names + uVar13)" ( (binary_expression "section_names + uVar13" identifier + identifier) ))) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();" 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*>();" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (if_statement "if (local_ce == '\0') {\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }\n              else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }" if (parenthesized_expression "(local_ce == '\0')" ( (binary_expression "local_ce == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);\n                *puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);\n                if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }\n              }" { (expression_statement "puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5);" (assignment_expression "puVar9 = (omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5)" identifier = (binary_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +\n                         (shndx >> 5)" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data._M_start" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                         super__Bvector_impl_data" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl" (parenthesized_expression "(omit->super__Bvector_base<std::allocator<bool>_>)" ( (binary_expression "omit->super__Bvector_base<std::allocator<bool>_>" (binary_expression "omit->super__Bvector_base<std::allocator<bool>_" (binary_expression "omit->super__Bvector_base<std::allocator<bool" (binary_expression "omit->super__Bvector_base<std" (field_expression "omit->super__Bvector_base" identifier -> field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (parenthesized_expression "(shndx >> 5)" ( (binary_expression "shndx >> 5" identifier >> number_literal) )))) ;) (expression_statement "*puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f);" (assignment_expression "*puVar9 = *puVar9 | 1 << ((byte)shndx & 0x1f)" (pointer_expression "*puVar9" * identifier) = (binary_expression "*puVar9 | 1 << ((byte)shndx & 0x1f)" (pointer_expression "*puVar9" * identifier) | (binary_expression "1 << ((byte)shndx & 0x1f)" number_literal << (parenthesized_expression "((byte)shndx & 0x1f)" ( (binary_expression "(byte)shndx & 0x1f" (cast_expression "(byte)shndx" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))\n                {\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }" if (parenthesized_expression "((local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false))))" ( (binary_expression "(local_d9 != false) && ((local_c4 == 2 || (kept_section->is_comdat_ != false)))" (parenthesized_expression "(local_d9 != false)" ( (binary_expression "local_d9 != false" identifier != false) )) && (parenthesized_expression "((local_c4 == 2 || (kept_section->is_comdat_ != false)))" ( (parenthesized_expression "(local_c4 == 2 || (kept_section->is_comdat_ != false))" ( (binary_expression "local_c4 == 2 || (kept_section->is_comdat_ != false)" (binary_expression "local_c4 == 2" identifier == number_literal) || (parenthesized_expression "(kept_section->is_comdat_ != false)" ( (binary_expression "kept_section->is_comdat_ != false" (field_expression "kept_section->is_comdat_" identifier -> field_identifier) != false) ))) )) ))) )) (compound_statement "{\n                  local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);\n                  local_58.first = shndx;\n                  local_58.second.kept_section = kept_section;\n                  local_58.second.sh_size._4_4_ = 0;\n                  local_58.second.is_comdat = true;\n                  local_58.second.symndx = uVar11;\n                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */\n                  std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);\n                }" { (expression_statement "local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14);" (assignment_expression "local_58.second.sh_size._0_4_ = *(uint *)((int)(shdrs + iVar3) + 0x14)" (field_expression "local_58.second.sh_size._0_4_" (field_expression "local_58.second.sh_size" (field_expression "local_58.second" identifier . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "*(uint *)((int)(shdrs + iVar3) + 0x14)" * (cast_expression "(uint *)((int)(shdrs + iVar3) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(shdrs + iVar3) + 0x14)" ( (binary_expression "(int)(shdrs + iVar3) + 0x14" (cast_expression "(int)(shdrs + iVar3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(shdrs + iVar3)" ( (binary_expression "shdrs + iVar3" identifier + identifier) ))) + number_literal) ))))) ;) (expression_statement "local_58.first = shndx;" (assignment_expression "local_58.first = shndx" (field_expression "local_58.first" identifier . field_identifier) = identifier) ;) (expression_statement "local_58.second.kept_section = kept_section;" (assignment_expression "local_58.second.kept_section = kept_section" (field_expression "local_58.second.kept_section" (field_expression "local_58.second" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_58.second.sh_size._4_4_ = 0;" (assignment_expression "local_58.second.sh_size._4_4_ = 0" (field_expression "local_58.second.sh_size._4_4_" (field_expression "local_58.second.sh_size" (field_expression "local_58.second" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_58.second.is_comdat = true;" (assignment_expression "local_58.second.is_comdat = true" (field_expression "local_58.second.is_comdat" (field_expression "local_58.second" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "local_58.second.symndx = uVar11;" (assignment_expression "local_58.second.symndx = uVar11" (field_expression "local_58.second.symndx" (field_expression "local_58.second" identifier . field_identifier) . field_identifier) = identifier) ;) comment (ERROR "std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std::pair<unsigned_int,_gold::" (comma_expression "std::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std" identifier (ERROR "::\n                  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_false>::Kept_comdat_section>,_std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Kept_comdat_section>,_std" (binary_expression "_false>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_false>::Kept_comdat_section>_>,_std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Kept_comdat_section>_>,_std" (binary_expression "_false>::Kept_comdat_section>_" (binary_expression "_false>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique<std" (binary_expression "_false>::Kept_comdat_section>_>_>\n                  ::\n                  _M_emplace_unique" (binary_expression "_false>::Kept_comdat_section>_>_" (binary_expression "_false>::Kept_comdat_section>_" (binary_expression "_false>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) : : (comma_expression "pair<unsigned_int,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , identifier) : :) (expression_statement "Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58);" (comma_expression "Sized_relobj_file<32,_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Kept_comdat_section>_>\n                            (&(this->kept_comdat_sections_)._M_t,&local_58)" (binary_expression "_false>::Kept_comdat_section>_" (binary_expression "_false>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (parenthesized_expression "(&(this->kept_comdat_sections_)._M_t,&local_58)" ( (comma_expression "&(this->kept_comdat_sections_)._M_t,&local_58" (pointer_expression "&(this->kept_comdat_sections_)._M_t" & (field_expression "(this->kept_comdat_sections_)._M_t" (parenthesized_expression "(this->kept_comdat_sections_)" ( (field_expression "this->kept_comdat_sections_" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&local_58" & identifier)) )))) ;) })) }) (else_clause "else if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }" else (if_statement "if (local_d9 != false) {\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }" if (parenthesized_expression "(local_d9 != false)" ( (binary_expression "local_d9 != false" identifier != false) )) (compound_statement "{\n                if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }\n                this_00 = &((kept_section->u_).group_sections)->_M_t;\n                loc.file_offset._0_4_ = &loc.data_size;\n                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                _M_construct<char*>();\n                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */\n                std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);\n                if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }\n              }" { (if_statement "if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }" if (parenthesized_expression "(kept_section->is_comdat_ == false)" ( (binary_expression "kept_section->is_comdat_ == false" (field_expression "kept_section->is_comdat_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */\n                  do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n                }" { comment comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section")" identifier (argument_list "("../../gold/layout.h",0x135,"add_comdat_section")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""add_comdat_section"" " string_content ") ))) ;) })) (expression_statement "this_00 = &((kept_section->u_).group_sections)->_M_t;" (assignment_expression "this_00 = &((kept_section->u_).group_sections)->_M_t" identifier = (pointer_expression "&((kept_section->u_).group_sections)->_M_t" & (field_expression "((kept_section->u_).group_sections)->_M_t" (parenthesized_expression "((kept_section->u_).group_sections)" ( (field_expression "(kept_section->u_).group_sections" (parenthesized_expression "(kept_section->u_)" ( (field_expression "kept_section->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "loc.file_offset._0_4_ = &loc.data_size;" (assignment_expression "loc.file_offset._0_4_ = &loc.data_size" (field_expression "loc.file_offset._0_4_" (field_expression "loc.file_offset" identifier . field_identifier) . field_identifier) = (pointer_expression "&loc.data_size" & (field_expression "loc.data_size" identifier . field_identifier))) ;) comment (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 "*>()" * > ( )) ;)) comment (ERROR "std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (comma_expression "std::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n                _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , identifier) : : (binary_expression "less<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::Comdat_section_info>_>_>\n                ::\n                _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > : : (binary_expression "_M_emplace_unique<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : :) (labeled_statement "Kept_section::Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);" statement_identifier : (ERROR ":" :) (expression_statement "Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc);" (binary_expression "Comdat_section_info>_>\n                          (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc)" (binary_expression "Comdat_section_info>_" identifier > identifier) > (parenthesized_expression "(this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc)" ( (comma_expression "this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc" identifier , (binary_expression "(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)&loc" (parenthesized_expression "(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                    *)" ( (ERROR "pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::" (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : :) (binary_expression "Comdat_section_info>\n                                    *" identifier > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;)) (if_statement "if ((off_t *)loc.file_offset != &loc.data_size) {\n                  operator_delete((off_t *)loc.file_offset);\n                }" if (parenthesized_expression "((off_t *)loc.file_offset != &loc.data_size)" ( (binary_expression "(off_t *)loc.file_offset != &loc.data_size" (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) != (pointer_expression "&loc.data_size" & (field_expression "loc.data_size" identifier . field_identifier))) )) (compound_statement "{\n                  operator_delete((off_t *)loc.file_offset);\n                }" { (expression_statement "operator_delete((off_t *)loc.file_offset);" (call_expression "operator_delete((off_t *)loc.file_offset)" identifier (argument_list "((off_t *)loc.file_offset)" ( (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) ))) ;) })) })))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)mname._M_dataplus._M_p != paVar2) {\n                operator_delete(mname._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                   *)mname._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                   *)mname._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                   *)mname._M_dataplus._M_p != paVar2" (binary_expression "allocator<char>_>_9\n                   *)mname._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                   *)mname._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n                operator_delete(mname._M_dataplus._M_p);\n              }" { (expression_statement "operator_delete(mname._M_dataplus._M_p);" (call_expression "operator_delete(mname._M_dataplus._M_p)" identifier (argument_list "(mname._M_dataplus._M_p)" ( (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) })) }) (else_clause "else {\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }" else (compound_statement "{\n            elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);\n            uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;\n            shndx = uVar13;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            shndx = uVar13;\n            if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }\n            *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;\n            if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;\nLAB_000cd275:\n            EVar6 = shndx;\n            pcVar10 = (char *)gettext();\n            Object::error((Object *)this,pcVar10,EVar6,index);\n          }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(this_01);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(this_01);" (call_expression "initialize_shnum(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;)) (expression_statement "uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar13 = uVar13 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar13 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "shndx = uVar13;" (assignment_expression "shndx = uVar13" identifier = identifier) ;) (if_statement "if (local_cd == '\0') goto LAB_000cd153;" if (parenthesized_expression "(local_cd == '\0')" ( (binary_expression "local_cd == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;)) (labeled_statement "LAB_000cd246:\n            shndx = uVar13;" statement_identifier : (expression_statement "shndx = uVar13;" (assignment_expression "shndx = uVar13" identifier = identifier) ;)) (if_statement "if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }" if (parenthesized_expression "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage)" ( (ERROR "shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>._M_impl.\n                _M_finish ==\n                shndxes.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl.\n                _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */\n              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);\n              goto LAB_000cd153;\n            }" { comment (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n              _M_realloc_insert<unsigned_int_const&>\n                        (this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > : : (binary_expression "_M_realloc_insert<unsigned_int_const" identifier < identifier) (ERROR "&" &) > ( (comma_expression "this_03,(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std" identifier , (comma_expression "(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int,_std" (binary_expression "(iterator)\n                                 shndxes.\n                                 super__Vector_base<unsigned_int" (cast_expression "(iterator)\n                                 shndxes.\n                                 super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "shndxes.\n                                 super__Vector_base" identifier . field_identifier)) < identifier) , identifier)) :) : (expression_statement "allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx);" (comma_expression "allocator<unsigned_int>_>.\n                                 _M_impl._M_finish,&shndx" (field_expression "allocator<unsigned_int>_>.\n                                 _M_impl._M_finish" (field_expression "allocator<unsigned_int>_>.\n                                 _M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&shndx" & identifier)) (ERROR ")" )) ;)) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;) })) (ERROR "*shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "*shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "*shndxes.super__Vector_base<unsigned_int" (pointer_expression "*shndxes.super__Vector_base" * (field_expression "shndxes.super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n             _M_finish = uVar13" (field_expression "allocator<unsigned_int>_>._M_impl.\n             _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int,_std" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish = shndxes.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1;" (binary_expression "allocator<unsigned_int>_>.\n                        _M_impl._M_finish + 1" (field_expression "allocator<unsigned_int>_>.\n                        _M_impl._M_finish" (field_expression "allocator<unsigned_int>_>.\n                        _M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) (if_statement "if (uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)\n            goto LAB_000cd15f;" if (parenthesized_expression "(uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_)" ( (binary_expression "uVar13 < (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" identifier < (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) )) (goto_statement "goto LAB_000cd15f;" goto statement_identifier ;)) (labeled_statement "LAB_000cd275:\n            EVar6 = shndx;" statement_identifier : (expression_statement "EVar6 = shndx;" (assignment_expression "EVar6 = shndx" identifier = identifier) ;)) (expression_statement "pcVar10 = (char *)gettext();" (assignment_expression "pcVar10 = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "Object::error((Object *)this,pcVar10,EVar6,index);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar10,EVar6,index);" (call_expression "error((Object *)this,pcVar10,EVar6,index)" identifier (argument_list "((Object *)this,pcVar10,EVar6,index)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;)) }))) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 < local_c4)" ( (binary_expression "uVar12 < local_c4" identifier < identifier) )) ;) (if_statement "if (local_cd != '\0') {\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);\n        }" { (labeled_statement "LAB_000cd50f:\n                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */\n          Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);" statement_identifier : comment (labeled_statement "Layout::layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);" statement_identifier : (ERROR ":" :) (expression_statement "layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes);" (comma_expression "layout_group<32,_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes)" (binary_expression "layout_group<32" identifier < number_literal) , (binary_expression "_false>\n                    (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes)" identifier > (parenthesized_expression "(layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes)" ( (comma_expression "layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes" identifier , (comma_expression "symtab,this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes" identifier , (comma_expression "this,index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes" identifier , (comma_expression "index,name,signature._M_dataplus._M_p,&shdr,flags,&shndxes" identifier , (comma_expression "name,signature._M_dataplus._M_p,&shdr,flags,&shndxes" identifier , (comma_expression "signature._M_dataplus._M_p,&shdr,flags,&shndxes" (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) , (comma_expression "&shdr,flags,&shndxes" (pointer_expression "&shdr" & identifier) , (comma_expression "flags,&shndxes" identifier , (pointer_expression "&shndxes" & identifier))))))))) )))) ;))) })) }))) (if_statement "if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }" if (parenthesized_expression "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0)" ( (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);\n      }" { (expression_statement "operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start);" (call_expression "operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start)" identifier (argument_list "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                        _M_impl._M_start)" ( (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>.\n                        _M_impl._M_start" (field_expression "allocator<unsigned_int>_>.\n                        _M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (labeled_statement "LAB_000cd55f:\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }" statement_identifier : (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1) {\n        return (bool)local_ce;\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)signature._M_dataplus._M_p == paVar1)" ( (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           *)signature._M_dataplus._M_p == paVar1" (binary_expression "allocator<char>_>_9\n           *)signature._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)signature._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (compound_statement "{\n        return (bool)local_ce;\n      }" { (return_statement "return (bool)local_ce;" return (cast_expression "(bool)local_ce" ( (type_descriptor "bool" primitive_type) ) identifier) ;) }))) (expression_statement "operator_delete(signature._M_dataplus._M_p);" (call_expression "operator_delete(signature._M_dataplus._M_p)" identifier (argument_list "(signature._M_dataplus._M_p)" ( (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) (return_statement "return (bool)local_ce;" return (cast_expression "(bool)local_ce" ( (type_descriptor "bool" primitive_type) ) identifier) ;) })) }))) (expression_statement "pcVar10 = (char *)gettext();" (assignment_expression "pcVar10 = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "index = uVar11;" (assignment_expression "index = uVar11" identifier = identifier) ;) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (labeled_statement "LAB_000cd301:\n  Object::error((Object *)this,pcVar10,index,uVar11);" statement_identifier : (labeled_statement "Object::error((Object *)this,pcVar10,index,uVar11);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar10,index,uVar11);" (call_expression "error((Object *)this,pcVar10,index,uVar11)" identifier (argument_list "((Object *)this,pcVar10,index,uVar11)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;))) (return_statement "return false;" return false ;) (ERROR "}" }))
(translation_unit "char FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)\n\n{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}\n\n" (function_definition "char FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)\n\n{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" primitive_type (function_declarator "FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "int *param_9" primitive_type (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_02;" type_identifier identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int **ppiVar9;" primitive_type (pointer_declarator "**ppiVar9" * (pointer_declarator "*ppiVar9" * identifier)) ;) (declaration "uint **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "int **ppiVar11;" primitive_type (pointer_declarator "**ppiVar11" * (pointer_declarator "*ppiVar11" * identifier)) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "uint *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "int *local_fc;" primitive_type (pointer_declarator "*local_fc" * identifier) ;) (declaration "uint **local_f8;" type_identifier (pointer_declarator "**local_f8" * (pointer_declarator "*local_f8" * identifier)) ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "uint *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "char *local_ec;" primitive_type (pointer_declarator "*local_ec" * identifier) ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "undefined4 local_e0;" type_identifier identifier ;) (declaration "char local_d9;" primitive_type identifier ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "undefined1 *local_d4;" type_identifier (pointer_declarator "*local_d4" * identifier) ;) (declaration "char local_ce;" primitive_type identifier ;) (declaration "char local_cd;" primitive_type identifier ;) (declaration "int *local_cc;" primitive_type (pointer_declarator "*local_cc" * identifier) ;) (declaration "uint *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "undefined **local_c0;" type_identifier (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)) ;) (declaration "undefined1 local_bc [8];" type_identifier (array_declarator "local_bc [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_b4 [16];" type_identifier (array_declarator "local_b4 [16]" identifier [ number_literal ]) ;) (declaration "int local_a4;" primitive_type identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "uint *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "char *local_88 [2];" primitive_type (pointer_declarator "*local_88 [2]" * (array_declarator "local_88 [2]" identifier [ number_literal ])) ;) (declaration "char local_80 [16];" primitive_type (array_declarator "local_80 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "undefined1 local_68 [16];" type_identifier (array_declarator "local_68 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined1 local_44;" type_identifier identifier ;) (declaration "uint *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_c0 = &__DT_PLTGOT;" (assignment_expression "local_c0 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_a4 = param_6 + (int)param_4 * 0x28;" (assignment_expression "local_a4 = param_6 + (int)param_4 * 0x28" identifier = (binary_expression "param_6 + (int)param_4 * 0x28" identifier + (binary_expression "(int)param_4 * 0x28" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" { (labeled_statement "LAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" statement_identifier : (expression_statement "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" (assignment_expression "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb" (pointer_expression "*(undefined4 *)((int)ppiVar12 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar12 + -4)" ( (binary_expression "(int)ppiVar12 + -4" (cast_expression "(int)ppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));" (assignment_expression "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_a4 + 0x10)" * (cast_expression "(undefined4 *)(local_a4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x10)" ( (binary_expression "local_a4 + 0x10" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(local_a4 + 0x14)" * (cast_expression "(undefined4 *)(local_a4 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) )))) ))))) ;) (expression_statement "local_e8 = *local_c8;" (assignment_expression "local_e8 = *local_c8" identifier = (pointer_expression "*local_c8" * identifier)) ;) (expression_statement "uVar13 = *(uint *)(local_a4 + 0x18);" (assignment_expression "uVar13 = *(uint *)(local_a4 + 0x18)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x18)" * (cast_expression "(uint *)(local_a4 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x18)" ( (binary_expression "local_a4 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_cc = param_1 + 0x24;" (assignment_expression "local_cc = param_1 + 0x24" identifier = (binary_expression "param_1 + 0x24" identifier + number_literal)) ;) (if_statement "if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" if (parenthesized_expression "(0xfeff < uVar13)" ( (binary_expression "0xfeff < uVar13" number_literal < identifier) )) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" { (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" identifier = (binary_expression "uVar13 + param_1[0x29]" identifier + (subscript_expression "param_1[0x29]" identifier [ number_literal ]))) ;) })) (expression_statement "ppiVar11 = &local_fc;" (assignment_expression "ppiVar11 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (expression_statement "ppiVar9 = &local_fc;" (assignment_expression "ppiVar9 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (expression_statement "uVar15 = FUN_000c52b0(local_cc,uVar13);" (assignment_expression "uVar15 = FUN_000c52b0(local_cc,uVar13)" identifier = (call_expression "FUN_000c52b0(local_cc,uVar13)" identifier (argument_list "(local_cc,uVar13)" ( identifier , identifier )))) ;) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , number_literal )))) ;) (expression_statement "local_d8 = *(uint *)(local_a4 + 0x1c);" (assignment_expression "local_d8 = *(uint *)(local_a4 + 0x1c)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x1c)" * (cast_expression "(uint *)(local_a4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x1c)" ( (binary_expression "local_a4 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" if (parenthesized_expression "(*(uint *)(iVar2 + 0x14) >> 4 <= local_d8)" ( (binary_expression "*(uint *)(iVar2 + 0x14) >> 4 <= local_d8" (binary_expression "*(uint *)(iVar2 + 0x14) >> 4" (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) >> number_literal) <= identifier) )) (compound_statement "{\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" { (expression_statement "uVar5 = gettext(local_c0 + -0x3a03f);" (assignment_expression "uVar5 = gettext(local_c0 + -0x3a03f)" identifier = (call_expression "gettext(local_c0 + -0x3a03f)" identifier (argument_list "(local_c0 + -0x3a03f)" ( (binary_expression "local_c0 + -0x3a03f" identifier + number_literal) )))) ;) (expression_statement "uStack_100 = local_d8;" (assignment_expression "uStack_100 = local_d8" identifier = identifier) ;) (expression_statement "puStack_104 = param_4;" (assignment_expression "puStack_104 = param_4" identifier = identifier) ;) (expression_statement "ppuVar10 = &puStack_104;" (assignment_expression "ppuVar10 = &puStack_104" identifier = (pointer_expression "&puStack_104" & identifier)) ;) (goto_statement "goto LAB_000cd301;" goto statement_identifier ;) })) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" identifier = (pointer_expression "&local_fc" & identifier)) ;) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);" (assignment_expression "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (binary_expression "local_d8 * 0x10 + *(int *)(iVar2 + 0x10)" (binary_expression "local_d8 * 0x10" identifier * number_literal) + (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) , number_literal , number_literal ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar2 + 0x18);" (assignment_expression "puVar14 = *(uint **)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar2 + 0x18)" * (cast_expression "(uint **)(iVar2 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" if (parenthesized_expression "((uint *)0xfeff < puVar14)" ( (binary_expression "(uint *)0xfeff < puVar14" (cast_expression "(uint *)0xfeff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" { (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" identifier = (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + param_1[0x29])" ( (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) )))) ;) })) (if_statement "if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac)" ( (binary_expression "*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac" (pointer_expression "*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (binary_expression "local_c0 + -0x9e6ac" identifier + number_literal)) )) (compound_statement "{\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }" { (expression_statement "puStack_104 = puVar14;" (assignment_expression "puStack_104 = puVar14" identifier = identifier) ;) (expression_statement "FUN_000c5480(&local_40,local_cc);" (call_expression "FUN_000c5480(&local_40,local_cc)" identifier (argument_list "(&local_40,local_cc)" ( (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "ppiVar12 = (int **)&uStack_100;" (assignment_expression "ppiVar12 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (if_statement "if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" if (parenthesized_expression "(local_34 != 0)" ( (binary_expression "local_34 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" { (expression_statement "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);" (call_expression "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" identifier (argument_list "(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" ( (binary_expression "local_c0 + -0x3ced3" identifier + number_literal) , number_literal , (binary_expression "local_c0 + -0x39e56" identifier + number_literal) ))) ;) })) (expression_statement "local_a0 = local_38;" (assignment_expression "local_a0 = local_38" identifier = identifier) ;) (if_statement "if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar13 = *puVar3;\n    }" { (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) }) (else_clause "else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" else (compound_statement "{\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" { (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" if (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000cd7c6;" goto statement_identifier ;)) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (expression_statement "ppiVar11 = (int **)&uStack_100;" (assignment_expression "ppiVar11 = (int **)&uStack_100" identifier = (cast_expression "(int **)&uStack_100" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_100" & identifier))) ;) (if_statement "if (uVar13 < local_a0) goto LAB_000cd02a;" if (parenthesized_expression "(uVar13 < local_a0)" ( (binary_expression "uVar13 < local_a0" identifier < identifier) )) (goto_statement "goto LAB_000cd02a;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" else (compound_statement "{\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" { (expression_statement "puStack_104 = &local_a0;" (assignment_expression "puStack_104 = &local_a0" identifier = (pointer_expression "&local_a0" & identifier)) ;) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" identifier = number_literal) ;) (expression_statement "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);" (assignment_expression "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" identifier = (call_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 0x38)" * (cast_expression "(undefined ***)(*param_1 + 0x38)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1,puVar14)" ( identifier , identifier )))) ;) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" if (parenthesized_expression "(uVar13 < local_a0)" ( (binary_expression "uVar13 < local_a0" identifier < identifier) )) (compound_statement "{\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" { (labeled_statement "LAB_000cd02a:\n      local_ec = local_80;" statement_identifier : (expression_statement "local_ec = local_80;" (assignment_expression "local_ec = local_80" identifier = identifier) ;)) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "iVar2 = uVar13 + iVar2;" (assignment_expression "iVar2 = uVar13 + iVar2" identifier = (binary_expression "uVar13 + iVar2" identifier + identifier)) ;) (expression_statement "local_88[0] = local_ec;" (assignment_expression "local_88[0] = local_ec" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" { (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppiVar11 + -0x10))" identifier (argument_list "(*(char **)((int)ppiVar11 + -0x10))" ( (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" * (cast_expression "(char **)((int)ppiVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "iVar6 = iVar2 + sVar4;" (assignment_expression "iVar6 = iVar2 + sVar4" identifier = (binary_expression "iVar2 + sVar4" identifier + identifier)) ;) })) (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar11 + -8) = iVar6;" (assignment_expression "*(int *)((int)ppiVar11 + -8) = iVar6" (pointer_expression "*(int *)((int)ppiVar11 + -8)" * (cast_expression "(int *)((int)ppiVar11 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0xc) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0xc) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0xc)" * (cast_expression "(int *)((int)ppiVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" * (cast_expression "(char ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX;" (assignment_expression "uVar5 = extraout_EDX" identifier = identifier) ;) (if_statement "if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" if (parenthesized_expression "((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3))" ( (binary_expression "(*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)" (parenthesized_expression "(*local_88[0] == '\0')" ( (binary_expression "*local_88[0] == '\0'" (pointer_expression "*local_88[0]" * (subscript_expression "local_88[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar3[3] & 0xf) == 3)" ( (binary_expression "(puVar3[3] & 0xf) == 3" (parenthesized_expression "(puVar3[3] & 0xf)" ( (binary_expression "puVar3[3] & 0xf" (subscript_expression "puVar3[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" { (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar3 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar3 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 0xe)" ( (binary_expression "(int)puVar3 + 0xe" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = CONCAT44(extraout_EDX,uVar13);" (assignment_expression "uVar15 = CONCAT44(extraout_EDX,uVar13)" identifier = (call_expression "CONCAT44(extraout_EDX,uVar13)" identifier (argument_list "(extraout_EDX,uVar13)" ( identifier , identifier )))) ;) (if_statement "if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar13 < 0xff00)" ( (binary_expression "uVar13 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }" { (labeled_statement "LAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" statement_identifier : (expression_statement "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar15 >> 0x20)" ( (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "uVar13 = (uint)uVar15;" (assignment_expression "uVar13 = (uint)uVar15" identifier = (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" if (parenthesized_expression "(uVar13 < (uint)param_1[10])" ( (binary_expression "uVar13 < (uint)param_1[10]" identifier < (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) )) (compound_statement "{\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" { (expression_statement "uVar13 = *(uint *)(param_6 + uVar13 * 0x28);" (assignment_expression "uVar13 = *(uint *)(param_6 + uVar13 * 0x28)" identifier = (pointer_expression "*(uint *)(param_6 + uVar13 * 0x28)" * (cast_expression "(uint *)(param_6 + uVar13 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + uVar13 * 0x28)" ( (binary_expression "param_6 + uVar13 * 0x28" identifier + (binary_expression "uVar13 * 0x28" identifier * number_literal)) ))))) ;) (if_statement "if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" if (parenthesized_expression "(uVar13 < param_8)" ( (binary_expression "uVar13 < param_8" identifier < identifier) )) (compound_statement "{\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" { (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" * (cast_expression "(uint *)((int)ppiVar11 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar13 + param_7" identifier + identifier)) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" * (cast_expression "(char ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b54d0();" (call_expression "FUN_001b54d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX_00;" (assignment_expression "uVar5 = extraout_EDX_00" identifier = identifier) ;) })) (goto_statement "goto LAB_000cd084;" goto statement_identifier ;) })) }) (else_clause "else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" else (if_statement "if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" if (parenthesized_expression "(uVar13 == 0xffff)" ( (binary_expression "uVar13 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" { (expression_statement "iVar2 = param_1[0xc];" (assignment_expression "iVar2 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" { (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar2 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar2 + 0x6c)" identifier = (pointer_expression "*(code **)(iVar2 + 0x6c)" * (cast_expression "(code **)(iVar2 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x6c)" ( (binary_expression "iVar2 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = (*pcVar1)();" (assignment_expression "iVar2 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0xc] = iVar2;" (assignment_expression "param_1[0xc] = iVar2" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" * (cast_expression "(uint *)((int)ppiVar11 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" * (cast_expression "(int **)((int)ppiVar11 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_000beba0();" (assignment_expression "uVar15 = FUN_000beba0()" identifier = (call_expression "FUN_000beba0()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000cd408;" goto statement_identifier ;) })))) (expression_statement "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b" (pointer_expression "*(undefined ***)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined ***)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x3a02b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)((int)ppiVar11 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar11 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar11 + -4)" * (cast_expression "(uint *)((int)ppiVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" * (cast_expression "(uint *)((int)ppiVar11 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;) })) (labeled_statement "LAB_000cd084:\n      local_9c = 0;" statement_identifier : (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;)) (if_statement "if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" if (parenthesized_expression "((local_e8 & 1) == 0)" ( (binary_expression "(local_e8 & 1) == 0" (parenthesized_expression "(local_e8 & 1)" ( (binary_expression "local_e8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }" { (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_d9 = '\0';" (assignment_expression "local_d9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_000cd0d2:\n        local_c4 = local_c4 >> 2;" statement_identifier : (expression_statement "local_c4 = local_c4 >> 2;" (assignment_expression "local_c4 = local_c4 >> 2" identifier = (binary_expression "local_c4 >> 2" identifier >> number_literal)) ;)) (expression_statement "uVar13 = local_c4;" (assignment_expression "uVar13 = local_c4" identifier = identifier) ;) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" if (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) == 0)" ( (binary_expression "*(int *)(local_c0[0xbc] + 8) == 0" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" * (cast_expression "(int *)(local_c0[0xbc] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0[0xbc] + 8)" ( (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" { (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -4)" ( (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39" (pointer_expression "*(undefined ***)((int)ppiVar11 + -8)" * (cast_expression "(undefined ***)((int)ppiVar11 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x39d39" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_c0 + -0xf8d93" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);" (assignment_expression "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" identifier = (pointer_expression "*(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) + 0x318d)" ( (binary_expression "*(int *)(local_c0[0xbc] + 8) + 0x318d" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" * (cast_expression "(int *)(local_c0[0xbc] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0[0xbc] + 8)" ( (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" { (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" * (cast_expression "(uint *)((int)ppiVar11 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c4 - 1" identifier - number_literal)) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c45a0();" (call_expression "FUN_000c45a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_ce = local_cd;" (assignment_expression "local_ce = local_cd" identifier = identifier) ;) (if_statement "if (1 < uVar13) goto LAB_000cd114;" if (parenthesized_expression "(1 < uVar13)" ( (binary_expression "1 < uVar13" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd50f;" goto statement_identifier ;) })) (expression_statement "local_ce = '\x01';" (assignment_expression "local_ce = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_c4) goto LAB_000cd114;" if (parenthesized_expression "(1 < local_c4)" ( (binary_expression "1 < local_c4" number_literal < identifier) )) (goto_statement "goto LAB_000cd114;" goto statement_identifier ;)) }) (else_clause "else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" else (compound_statement "{\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" { (expression_statement "*(int **)((int)ppiVar11 + -8) = &local_9c;" (assignment_expression "*(int **)((int)ppiVar11 + -8) = &local_9c" (pointer_expression "*(int **)((int)ppiVar11 + -8)" * (cast_expression "(int **)((int)ppiVar11 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)((int)ppiVar11 + -0x14) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x14) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x14)" * (cast_expression "(uint **)((int)ppiVar11 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" * (cast_expression "(int **)((int)ppiVar11 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x18)" ( (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)((int)ppiVar11 + -0x1c) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x1c) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x1c)" * (cast_expression "(char ***)((int)ppiVar11 + -0x1c)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar11 + -0x1c)" ( (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x20) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x20) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x20)" * (cast_expression "(int *)((int)ppiVar11 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x20)" ( (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x24)" ( (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_d9 = FUN_000b0300();" (assignment_expression "local_d9 = FUN_000b0300()" identifier = (call_expression "FUN_000b0300()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" if (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" { (expression_statement "iVar2 = *(int *)(param_3 + 0x1d0);" (assignment_expression "iVar2 = *(int *)(param_3 + 0x1d0)" identifier = (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = extraout_EDX_01;" (assignment_expression "uVar5 = extraout_EDX_01" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" { (expression_statement "*(char **)((int)ppiVar11 + -8) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -8) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -8)" * (cast_expression "(char **)((int)ppiVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -8)" ( (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" * (cast_expression "(int **)((int)ppiVar11 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0xc)" ( (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00093370();" (call_expression "FUN_00093370()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = extraout_EDX_02;" (assignment_expression "uVar5 = extraout_EDX_02" identifier = identifier) ;) })) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" identifier = (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cd0d2;" goto statement_identifier ;) })) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14) >> 2;" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14) >> 2" identifier = (binary_expression "*(uint *)(local_a4 + 0x14) >> 2" (pointer_expression "*(uint *)(local_a4 + 0x14)" * (cast_expression "(uint *)(local_a4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 + 0x14)" ( (binary_expression "local_a4 + 0x14" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (local_c4 < 2) goto LAB_000cd55f;" if (parenthesized_expression "(local_c4 < 2)" ( (binary_expression "local_c4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_000cd55f;" goto statement_identifier ;)) (expression_statement "local_cd = '\0';" (assignment_expression "local_cd = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_d9 = '\x01';" (assignment_expression "local_d9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_000cd114:\n        local_f8 = &local_98;" statement_identifier : (expression_statement "local_f8 = &local_98;" (assignment_expression "local_f8 = &local_98" identifier = (pointer_expression "&local_98" & identifier)) ;)) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "local_fc = &local_94;" (assignment_expression "local_fc = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" identifier = (cast_expression "(undefined1 *)ppiVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);" do (compound_statement "{\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        }" { (expression_statement "puVar14 = (uint *)local_c8[uVar13];" (assignment_expression "puVar14 = (uint *)local_c8[uVar13]" identifier = (cast_expression "(uint *)local_c8[uVar13]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[uVar13]" identifier [ identifier ]))) ;) (expression_statement "ppiVar11 = (int **)puVar8;" (assignment_expression "ppiVar11 = (int **)puVar8" identifier = (cast_expression "(int **)puVar8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" if (parenthesized_expression "(puVar14 < (uint *)0xff00)" ( (binary_expression "puVar14 < (uint *)0xff00" identifier < (cast_expression "(uint *)0xff00" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }" { (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;) (if_statement "if (local_cd != '\0') goto LAB_000cd246;" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd246;" goto statement_identifier ;)) (labeled_statement "LAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" statement_identifier : (if_statement "if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" if (parenthesized_expression "((uint *)param_1[10] <= local_98)" ( (binary_expression "(uint *)param_1[10] <= local_98" (cast_expression "(uint *)param_1[10]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_000cd275;" goto statement_identifier ;))) (labeled_statement "LAB_000cd15f:\n            puVar14 = local_98;" statement_identifier : (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" identifier = identifier) ;)) (if_statement "if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" if (parenthesized_expression "(local_98 < param_4)" ( (binary_expression "local_98 < param_4" identifier < identifier) )) (compound_statement "{\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" { (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3a017" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd455;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd455" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)(puVar8 + -4) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -4) = puVar14" (pointer_expression "*(uint **)(puVar8 + -4)" * (cast_expression "(uint **)(puVar8 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar8 + -8) = param_4;" (assignment_expression "*(uint **)(puVar8 + -8) = param_4" (pointer_expression "*(uint **)(puVar8 + -8)" * (cast_expression "(uint **)(puVar8 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd465;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd465" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);" (assignment_expression "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28)" identifier = (cast_expression "(uint *)(param_6 + (int)local_98 * 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + (int)local_98 * 0x28)" ( (binary_expression "param_6 + (int)local_98 * 0x28" identifier + (binary_expression "(int)local_98 * 0x28" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (if_statement "if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" if (parenthesized_expression "(*puVar14 < param_8)" ( (binary_expression "*puVar14 < param_8" (pointer_expression "*puVar14" * identifier) < identifier) )) (compound_statement "{\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" { (expression_statement "local_d4 = local_68;" (assignment_expression "local_d4 = local_68" identifier = identifier) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;) (expression_statement "uVar7 = *puVar14 + param_7;" (assignment_expression "uVar7 = *puVar14 + param_7" identifier = (binary_expression "*puVar14 + param_7" (pointer_expression "*puVar14" * identifier) + identifier)) ;) (if_statement "if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" { (expression_statement "*(uint *)(puVar8 + -0x10) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0x10) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0x10)" * (cast_expression "(uint *)(puVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_e4 = uVar7;" (assignment_expression "local_e4 = uVar7" identifier = identifier) ;) (expression_statement "sVar4 = strlen(*(char **)(puVar8 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)(puVar8 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar8 + -0x10))" identifier (argument_list "(*(char **)(puVar8 + -0x10))" ( (pointer_expression "*(char **)(puVar8 + -0x10)" * (cast_expression "(char **)(puVar8 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar2 = sVar4 + local_e4;" (assignment_expression "iVar2 = sVar4 + local_e4" identifier = (binary_expression "sVar4 + local_e4" identifier + identifier)) ;) (expression_statement "uVar7 = local_e4;" (assignment_expression "uVar7 = local_e4" identifier = identifier) ;) })) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -8) = iVar2;" (assignment_expression "*(int *)(puVar8 + -8) = iVar2" (pointer_expression "*(int *)(puVar8 + -8)" * (cast_expression "(int *)(puVar8 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar8 + -0xc) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0xc) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0xc)" * (cast_expression "(uint *)(puVar8 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar8 + -0x10) = &local_70;" (assignment_expression "*(undefined1 ***)(puVar8 + -0x10) = &local_70" (pointer_expression "*(undefined1 ***)(puVar8 + -0x10)" * (cast_expression "(undefined1 ***)(puVar8 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_70" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" if (parenthesized_expression "(local_ce == '\0')" ( (binary_expression "local_ce == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" { (expression_statement "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);" (assignment_expression "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" identifier = (cast_expression "(uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_9 + ((uint)local_98 >> 5) * 4)" ( (binary_expression "*param_9 + ((uint)local_98 >> 5) * 4" (pointer_expression "*param_9" * identifier) + (binary_expression "((uint)local_98 >> 5) * 4" (parenthesized_expression "((uint)local_98 >> 5)" ( (binary_expression "(uint)local_98 >> 5" (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) * number_literal)) )))) ;) (expression_statement "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);" (assignment_expression "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" * identifier) = (binary_expression "*puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" * identifier) | (binary_expression "1 << ((byte)local_98 & 0x1f)" number_literal << (parenthesized_expression "((byte)local_98 & 0x1f)" ( (binary_expression "(byte)local_98 & 0x1f" (cast_expression "(byte)local_98" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" if (parenthesized_expression "((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))))" ( (binary_expression "(local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" ( (parenthesized_expression "(local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))" ( (binary_expression "local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')" (binary_expression "local_c4 == 2" identifier == number_literal) || (parenthesized_expression "(*(char *)(local_9c + 8) != '\0')" ( (binary_expression "*(char *)(local_9c + 8) != '\0'" (pointer_expression "*(char *)(local_9c + 8)" * (cast_expression "(char *)(local_9c + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" { (expression_statement "local_54 = puVar14[5];" (assignment_expression "local_54 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "local_58 = local_98;" (assignment_expression "local_58 = local_98" identifier = identifier) ;) (expression_statement "local_4c = local_9c;" (assignment_expression "local_4c = local_9c" identifier = identifier) ;) (expression_statement "*(uint ***)(puVar8 + -8) = &local_58;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_58" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (pointer_expression "&local_58" & identifier)) ;) (expression_statement "local_48 = local_d8;" (assignment_expression "local_48 = local_d8" identifier = identifier) ;) (expression_statement "*(int **)(puVar8 + -0xc) = param_1 + 0x41;" (assignment_expression "*(int **)(puVar8 + -0xc) = param_1 + 0x41" (pointer_expression "*(int **)(puVar8 + -0xc)" * (cast_expression "(int **)(puVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (binary_expression "param_1 + 0x41" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_bc;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_bc" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" * (cast_expression "(undefined1 **)(puVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c7070();" (call_expression "FUN_000c7070()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) })) }) (else_clause "else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" else (if_statement "if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" if (parenthesized_expression "(local_d9 != '\0')" ( (binary_expression "local_d9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" { (expression_statement "local_e4 = puVar14[5];" (assignment_expression "local_e4 = puVar14[5]" identifier = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = local_98;" (assignment_expression "local_f0 = local_98" identifier = identifier) ;) (if_statement "if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "(*(char *)(local_9c + 8) == '\0')" ( (binary_expression "*(char *)(local_9c + 8) == '\0'" (pointer_expression "*(char *)(local_9c + 8)" * (cast_expression "(char *)(local_9c + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" { (expression_statement "*(int *)(puVar8 + -4) = local_9c;" (assignment_expression "*(int *)(puVar8 + -4) = local_9c" (pointer_expression "*(int *)(puVar8 + -4)" * (cast_expression "(int *)(puVar8 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;" (assignment_expression "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b" (pointer_expression "*(undefined ***)(puVar8 + -8)" * (cast_expression "(undefined ***)(puVar8 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x39e6b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 0x135;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 0x135" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3ad16" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;" (assignment_expression "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825" (pointer_expression "*(undefined1 **)(puVar8 + -0x14)" * (cast_expression "(undefined1 **)(puVar8 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_000cd825" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_f4 = *(undefined4 *)(local_9c + 0xc);" (assignment_expression "local_f4 = *(undefined4 *)(local_9c + 0xc)" identifier = (pointer_expression "*(undefined4 *)(local_9c + 0xc)" * (cast_expression "(undefined4 *)(local_9c + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0xc)" ( (binary_expression "local_9c + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" * (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c;" (assignment_expression "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c" (pointer_expression "*(undefined1 **)(puVar8 + -8)" * (cast_expression "(undefined1 **)(puVar8 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (binary_expression "local_70 + local_6c" identifier + identifier)) ;) (expression_statement "*(undefined1 **)(puVar8 + -0xc) = local_70;" (assignment_expression "*(undefined1 **)(puVar8 + -0xc) = local_70" (pointer_expression "*(undefined1 **)(puVar8 + -0xc)" * (cast_expression "(undefined1 **)(puVar8 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint ***)(puVar8 + -0x10) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -0x10) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -0x10)" * (cast_expression "(uint ***)(puVar8 + -0x10)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = &local_38;" (assignment_expression "local_40 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "FUN_0007c4c0();" (call_expression "FUN_0007c4c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint ***)(puVar8 + -8) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_24 = local_e4;" (assignment_expression "local_24 = local_e4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = local_f4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = local_f4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_b4;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_b4" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" * (cast_expression "(undefined1 **)(puVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_28 = local_f0;" (assignment_expression "local_28 = local_f0" identifier = identifier) ;) (expression_statement "local_20 = local_e0;" (assignment_expression "local_20 = local_e0" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c4080();" (call_expression "FUN_000c4080()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (if_statement "if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" if (parenthesized_expression "(local_40 != &local_38)" ( (binary_expression "local_40 != &local_38" identifier != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" { (expression_statement "*(uint **)(puVar8 + -0x14) = local_40;" (assignment_expression "*(uint **)(puVar8 + -0x14) = local_40" (pointer_expression "*(uint **)(puVar8 + -0x14)" * (cast_expression "(uint **)(puVar8 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0xcd637;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0xcd637" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" * (cast_expression "(undefined4 *)(puVar8 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x18)" ( (binary_expression "puVar8 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" identifier = (cast_expression "(int **)(puVar8 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) })) })))) (if_statement "if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" if (parenthesized_expression "(local_70 != local_d4)" ( (binary_expression "local_70 != local_d4" identifier != identifier) )) (compound_statement "{\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" { (expression_statement "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70;" (assignment_expression "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70" (pointer_expression "*(undefined1 **)((int)ppiVar11 + -0x10)" * (cast_expression "(undefined1 **)((int)ppiVar11 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" else (compound_statement "{\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" { (expression_statement "*(int **)(puVar8 + -0x10) = local_cc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_cc" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd227;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd227" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c47d0();" (call_expression "FUN_000c47d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" identifier = (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + param_1[0x29])" ( (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) )))) ;) (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;) (if_statement "if (local_cd == '\0') goto LAB_000cd153;" if (parenthesized_expression "(local_cd == '\0')" ( (binary_expression "local_cd == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;)) (labeled_statement "LAB_000cd246:\n            local_98 = puVar14;" statement_identifier : (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" identifier = identifier) ;)) (if_statement "if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" if (parenthesized_expression "(local_90 == local_8c)" ( (binary_expression "local_90 == local_8c" identifier == identifier) )) (compound_statement "{\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" { (expression_statement "*(uint ***)(puVar8 + -8) = local_f8;" (assignment_expression "*(uint ***)(puVar8 + -8) = local_f8" (pointer_expression "*(uint ***)(puVar8 + -8)" * (cast_expression "(uint ***)(puVar8 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar8 + -0xc) = local_90;" (assignment_expression "*(undefined4 **)(puVar8 + -0xc) = local_90" (pointer_expression "*(undefined4 **)(puVar8 + -0xc)" * (cast_expression "(undefined4 **)(puVar8 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = local_fc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_fc" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd655;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd655" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0009acc0();" (call_expression "FUN_0009acc0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000cd153;" goto statement_identifier ;) })) (expression_statement "*local_90 = puVar14;" (assignment_expression "*local_90 = puVar14" (pointer_expression "*local_90" * identifier) = identifier) ;) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (if_statement "if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;" if (parenthesized_expression "(puVar14 < (uint *)param_1[10])" ( (binary_expression "puVar14 < (uint *)param_1[10]" identifier < (cast_expression "(uint *)param_1[10]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000cd15f;" goto statement_identifier ;)) (labeled_statement "LAB_000cd275:\n            puVar14 = local_98;" statement_identifier : (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" * (cast_expression "(undefined ***)(puVar8 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (binary_expression "local_c0 + -0x3a022" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)(puVar8 + -4) = param_4;" (assignment_expression "*(uint **)(puVar8 + -4) = param_4" (pointer_expression "*(uint **)(puVar8 + -4)" * (cast_expression "(uint **)(puVar8 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar8 + -8) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -8) = puVar14" (pointer_expression "*(uint **)(puVar8 + -8)" * (cast_expression "(uint **)(puVar8 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" identifier = (cast_expression "(undefined1 *)ppiVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(uVar13 < local_c4)" ( (binary_expression "uVar13 < local_c4" identifier < identifier) )) ;) (if_statement "if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" if (parenthesized_expression "(local_cd != '\0')" ( (binary_expression "local_cd != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" { (labeled_statement "LAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;" statement_identifier : (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" * (cast_expression "(int **)((int)ppiVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;)) (expression_statement "*(uint *)((int)ppiVar11 + -0x14) = local_e8;" (assignment_expression "*(uint *)((int)ppiVar11 + -0x14) = local_e8" (pointer_expression "*(uint *)((int)ppiVar11 + -0x14)" * (cast_expression "(uint *)((int)ppiVar11 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = &local_a4;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = &local_a4" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" * (cast_expression "(int **)((int)ppiVar11 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x18)" ( (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_a4" & identifier)) ;) (expression_statement "*(char **)((int)ppiVar11 + -0x1c) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x1c) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x1c)" * (cast_expression "(char **)((int)ppiVar11 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x1c)" ( (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x20)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x20)" ( (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)((int)ppiVar11 + -0x24) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x24) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x24)" * (cast_expression "(uint **)((int)ppiVar11 + -0x24)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x24)" ( (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar11 + -0x28) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x28) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x28)" * (cast_expression "(int **)((int)ppiVar11 + -0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x28)" ( (binary_expression "(int)ppiVar11 + -0x28" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x2c)" ( (binary_expression "(int)ppiVar11 + -0x2c" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppiVar11 + -0x30) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x30) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x30)" * (cast_expression "(int *)((int)ppiVar11 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x30)" ( (binary_expression "(int)ppiVar11 + -0x30" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x34)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x34)" ( (binary_expression "(int)ppiVar11 + -0x34" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b9ec0();" (call_expression "FUN_000b9ec0()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" { (expression_statement "*(int *)((int)ppiVar11 + -0x10) = local_94;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = local_94" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" * (cast_expression "(int *)((int)ppiVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }" statement_identifier : (if_statement "if (local_88[0] == local_ec) {\n        return local_ce;\n      }" if (parenthesized_expression "(local_88[0] == local_ec)" ( (binary_expression "local_88[0] == local_ec" (subscript_expression "local_88[0]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n        return local_ce;\n      }" { (return_statement "return local_ce;" return identifier ;) }))) (expression_statement "*(char **)((int)ppiVar11 + -0x10) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x10) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" * (cast_expression "(char **)((int)ppiVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar11 + -0x10)" ( (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar11 + -0x14)" ( (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (return_statement "return local_ce;" return identifier ;) })) }))) (expression_statement "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;" (assignment_expression "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035" (pointer_expression "*(undefined ***)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined ***)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_c0 + -0x3a035" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" * (cast_expression "(uint *)((int)ppiVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -4)" ( (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppuVar10 = (uint **)((int)ppiVar9 + -8);" (assignment_expression "ppuVar10 = (uint **)((int)ppiVar9 + -8)" identifier = (cast_expression "(uint **)((int)ppiVar9 + -8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint *)((int)ppiVar9 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar9 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar9 + -8)" * (cast_expression "(uint *)((int)ppiVar9 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;" statement_identifier : (expression_statement "*(undefined4 *)((int)ppuVar10 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -4)" * (cast_expression "(undefined4 *)((int)ppuVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar10 + -4)" ( (binary_expression "(int)ppuVar10 + -4" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)((int)ppuVar10 + -8) = param_1;" (assignment_expression "*(int **)((int)ppuVar10 + -8) = param_1" (pointer_expression "*(int **)((int)ppuVar10 + -8)" * (cast_expression "(int **)((int)ppuVar10 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar10 + -8)" ( (binary_expression "(int)ppuVar10 + -8" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -0xc)" * (cast_expression "(undefined4 *)((int)ppuVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar10 + -0xc)" ( (binary_expression "(int)ppuVar10 + -0xc" (cast_expression "(int)ppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE 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 * (array_declarator IDENT [ LIT ])) ;) (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (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 = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , 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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , 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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 * (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * 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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (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 = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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) )))) = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 * (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 * (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) )))) = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (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) )))) = 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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) )))) = 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) )))) = 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) )))) = (pointer_expression & 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 == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) = (pointer_expression & IDENT)) ;) (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 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 IDENT = LIT) ;) (expression_statement (assignment_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 { (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) )))) = (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 * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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 * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & 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 = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (pointer_expression & IDENT)) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 & 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 = (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 != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 * (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 * (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 ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 (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) )))) = 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 *))) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return (char_literal ' escape_sequence ') ;) })))
(function_definition "char FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)\n\n{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" (primitive_type "char") (function_declarator "FUN_000cce80(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" (identifier "FUN_000cce80") (parameter_list "(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,\n                 int param_6,int param_7,uint param_8,int *param_9)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) (, ",") (parameter_declaration "uint param_8" (type_identifier "uint") (identifier "param_8")) (, ",") (parameter_declaration "int *param_9" (primitive_type "int") (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) () ")"))) (compound_statement "{\n  code *pcVar1;\n  int iVar2;\n  uint *puVar3;\n  size_t sVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 extraout_EDX;\n  uint uVar7;\n  undefined4 extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined1 *puVar8;\n  int **ppiVar9;\n  uint **ppuVar10;\n  int **ppiVar11;\n  int **ppiVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined8 uVar15;\n  uint *puStack_104;\n  uint uStack_100;\n  int *local_fc;\n  uint **local_f8;\n  undefined4 local_f4;\n  uint *local_f0;\n  char *local_ec;\n  uint local_e8;\n  uint local_e4;\n  undefined4 local_e0;\n  char local_d9;\n  uint local_d8;\n  undefined1 *local_d4;\n  char local_ce;\n  char local_cd;\n  int *local_cc;\n  uint *local_c8;\n  uint local_c4;\n  undefined **local_c0;\n  undefined1 local_bc [8];\n  undefined1 local_b4 [16];\n  int local_a4;\n  uint local_a0;\n  int local_9c;\n  uint *local_98;\n  int local_94;\n  undefined4 *local_90;\n  undefined4 *local_8c;\n  char *local_88 [2];\n  char local_80 [16];\n  undefined1 *local_70;\n  int local_6c;\n  undefined1 local_68 [16];\n  uint *local_58;\n  uint local_54;\n  undefined4 local_50;\n  int local_4c;\n  uint local_48;\n  undefined1 local_44;\n  uint *local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint *local_28;\n  uint local_24;\n  undefined4 local_20;\n  \n  local_c0 = &__DT_PLTGOT;\n  local_a4 = param_6 + (int)param_4 * 0x28;\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));\n  local_e8 = *local_c8;\n  uVar13 = *(uint *)(local_a4 + 0x18);\n  local_cc = param_1 + 0x24;\n  if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }\n  ppiVar11 = &local_fc;\n  ppiVar9 = &local_fc;\n  uVar15 = FUN_000c52b0(local_cc,uVar13);\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 1;\n  puStack_104 = (uint *)0x1;\n  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);\n  local_d8 = *(uint *)(local_a4 + 0x1c);\n  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }\n  ppiVar12 = &local_fc;\n  if (param_1[7] == 0) goto LAB_000cd7c6;\n  uStack_100 = 0;\n  puStack_104 = (uint *)0x1;\n  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);\n  puVar14 = *(uint **)(iVar2 + 0x18);\n  if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }\n  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }\n  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;\n  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;\n  uVar5 = gettext();\n  *(uint *)((int)ppiVar9 + -4) = uVar13;\n  ppuVar10 = (uint **)((int)ppiVar9 + -8);\n  *(uint *)((int)ppiVar9 + -8) = local_d8;\nLAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;\n  *(int **)((int)ppuVar10 + -8) = param_1;\n  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;\n  FUN_000beb20();\n  return '\0';\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 extraout_EDX_00;" (type_identifier "undefined4") (identifier "extraout_EDX_00") (; ";")) (declaration "undefined4 extraout_EDX_01;" (type_identifier "undefined4") (identifier "extraout_EDX_01") (; ";")) (declaration "undefined4 extraout_EDX_02;" (type_identifier "undefined4") (identifier "extraout_EDX_02") (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int **ppiVar9;" (primitive_type "int") (pointer_declarator "**ppiVar9" (* "*") (pointer_declarator "*ppiVar9" (* "*") (identifier "ppiVar9"))) (; ";")) (declaration "uint **ppuVar10;" (type_identifier "uint") (pointer_declarator "**ppuVar10" (* "*") (pointer_declarator "*ppuVar10" (* "*") (identifier "ppuVar10"))) (; ";")) (declaration "int **ppiVar11;" (primitive_type "int") (pointer_declarator "**ppiVar11" (* "*") (pointer_declarator "*ppiVar11" (* "*") (identifier "ppiVar11"))) (; ";")) (declaration "int **ppiVar12;" (primitive_type "int") (pointer_declarator "**ppiVar12" (* "*") (pointer_declarator "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (declaration "uint *puStack_104;" (type_identifier "uint") (pointer_declarator "*puStack_104" (* "*") (identifier "puStack_104")) (; ";")) (declaration "uint uStack_100;" (type_identifier "uint") (identifier "uStack_100") (; ";")) (declaration "int *local_fc;" (primitive_type "int") (pointer_declarator "*local_fc" (* "*") (identifier "local_fc")) (; ";")) (declaration "uint **local_f8;" (type_identifier "uint") (pointer_declarator "**local_f8" (* "*") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8"))) (; ";")) (declaration "undefined4 local_f4;" (type_identifier "undefined4") (identifier "local_f4") (; ";")) (declaration "uint *local_f0;" (type_identifier "uint") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "char *local_ec;" (primitive_type "char") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec")) (; ";")) (declaration "uint local_e8;" (type_identifier "uint") (identifier "local_e8") (; ";")) (declaration "uint local_e4;" (type_identifier "uint") (identifier "local_e4") (; ";")) (declaration "undefined4 local_e0;" (type_identifier "undefined4") (identifier "local_e0") (; ";")) (declaration "char local_d9;" (primitive_type "char") (identifier "local_d9") (; ";")) (declaration "uint local_d8;" (type_identifier "uint") (identifier "local_d8") (; ";")) (declaration "undefined1 *local_d4;" (type_identifier "undefined1") (pointer_declarator "*local_d4" (* "*") (identifier "local_d4")) (; ";")) (declaration "char local_ce;" (primitive_type "char") (identifier "local_ce") (; ";")) (declaration "char local_cd;" (primitive_type "char") (identifier "local_cd") (; ";")) (declaration "int *local_cc;" (primitive_type "int") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc")) (; ";")) (declaration "uint *local_c8;" (type_identifier "uint") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "uint local_c4;" (type_identifier "uint") (identifier "local_c4") (; ";")) (declaration "undefined **local_c0;" (type_identifier "undefined") (pointer_declarator "**local_c0" (* "*") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0"))) (; ";")) (declaration "undefined1 local_bc [8];" (type_identifier "undefined1") (array_declarator "local_bc [8]" (identifier "local_bc") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 local_b4 [16];" (type_identifier "undefined1") (array_declarator "local_b4 [16]" (identifier "local_b4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int local_a4;" (primitive_type "int") (identifier "local_a4") (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "uint *local_98;" (type_identifier "uint") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "undefined4 *local_90;" (type_identifier "undefined4") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined4 *local_8c;" (type_identifier "undefined4") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "char *local_88 [2];" (primitive_type "char") (pointer_declarator "*local_88 [2]" (* "*") (array_declarator "local_88 [2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "char local_80 [16];" (primitive_type "char") (array_declarator "local_80 [16]" (identifier "local_80") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_70;" (type_identifier "undefined1") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "undefined1 local_68 [16];" (type_identifier "undefined1") (array_declarator "local_68 [16]" (identifier "local_68") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint *local_58;" (type_identifier "uint") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "uint local_54;" (type_identifier "uint") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "undefined1 local_44;" (type_identifier "undefined1") (identifier "local_44") (; ";")) (declaration "uint *local_40;" (type_identifier "uint") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "uint *local_28;" (type_identifier "uint") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "local_c0 = &__DT_PLTGOT;" (assignment_expression "local_c0 = &__DT_PLTGOT" (identifier "local_c0") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_a4 = param_6 + (int)param_4 * 0x28;" (assignment_expression "local_a4 = param_6 + (int)param_4 * 0x28" (identifier "local_a4") (= "=") (binary_expression "param_6 + (int)param_4 * 0x28" (identifier "param_6") (+ "+") (binary_expression "(int)param_4 * 0x28" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (* "*") (number_literal "0x28")))) (; ";")) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" (identifier "ppiVar12") (= "=") (pointer_expression "&local_fc" (& "&") (identifier "local_fc"))) (; ";")) (if_statement "if (param_1[7] == 0) {\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" (if "if") (parenthesized_expression "(param_1[7] == 0)" (( "(") (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;\n    FUN_000be960();\n  }" ({ "{") (labeled_statement "LAB_000cd7c6:\n                    \n    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" (statement_identifier "LAB_000cd7c6") (: ":") (expression_statement "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;" (assignment_expression "*(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb" (pointer_expression "*(undefined4 *)((int)ppiVar12 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar12 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar12 + -4)" (( "(") (binary_expression "(int)ppiVar12 + -4" (cast_expression "(int)ppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar12")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xcd7cb")) (; ";"))) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" (identifier "FUN_000be960") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" (identifier "uStack_100") (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" (identifier "puStack_104") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14));" (assignment_expression "local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" (identifier "local_c8") (= "=") (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                  *(undefined4 *)(local_a4 + 0x10),0,\n                                  *(undefined4 *)(local_a4 + 0x14))" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(local_a4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_a4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x10)" (( "(") (binary_expression "local_a4 + 0x10" (identifier "local_a4") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(local_a4 + 0x14)" (* "*") (cast_expression "(undefined4 *)(local_a4 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x14)" (( "(") (binary_expression "local_a4 + 0x14" (identifier "local_a4") (+ "+") (number_literal "0x14")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_e8 = *local_c8;" (assignment_expression "local_e8 = *local_c8" (identifier "local_e8") (= "=") (pointer_expression "*local_c8" (* "*") (identifier "local_c8"))) (; ";")) (expression_statement "uVar13 = *(uint *)(local_a4 + 0x18);" (assignment_expression "uVar13 = *(uint *)(local_a4 + 0x18)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(local_a4 + 0x18)" (* "*") (cast_expression "(uint *)(local_a4 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x18)" (( "(") (binary_expression "local_a4 + 0x18" (identifier "local_a4") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_cc = param_1 + 0x24;" (assignment_expression "local_cc = param_1 + 0x24" (identifier "local_cc") (= "=") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24"))) (; ";")) (if_statement "if (0xfeff < uVar13) {\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" (if "if") (parenthesized_expression "(0xfeff < uVar13)" (( "(") (binary_expression "0xfeff < uVar13" (number_literal "0xfeff") (< "<") (identifier "uVar13")) () ")")) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    uVar13 = uVar13 + param_1[0x29];\n  }" ({ "{") (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" (identifier "FUN_000c47d0") (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" (identifier "uVar13") (= "=") (binary_expression "uVar13 + param_1[0x29]" (identifier "uVar13") (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]")))) (; ";")) (} "}"))) (expression_statement "ppiVar11 = &local_fc;" (assignment_expression "ppiVar11 = &local_fc" (identifier "ppiVar11") (= "=") (pointer_expression "&local_fc" (& "&") (identifier "local_fc"))) (; ";")) (expression_statement "ppiVar9 = &local_fc;" (assignment_expression "ppiVar9 = &local_fc" (identifier "ppiVar9") (= "=") (pointer_expression "&local_fc" (& "&") (identifier "local_fc"))) (; ";")) (expression_statement "uVar15 = FUN_000c52b0(local_cc,uVar13);" (assignment_expression "uVar15 = FUN_000c52b0(local_cc,uVar13)" (identifier "uVar15") (= "=") (call_expression "FUN_000c52b0(local_cc,uVar13)" (identifier "FUN_000c52b0") (argument_list "(local_cc,uVar13)" (( "(") (identifier "local_cc") (, ",") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" (identifier "ppiVar12") (= "=") (pointer_expression "&local_fc" (& "&") (identifier "local_fc"))) (; ";")) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" (if "if") (parenthesized_expression "(param_1[7] == 0)" (( "(") (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cd7c6;" (goto "goto") (statement_identifier "LAB_000cd7c6") (; ";"))) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" (identifier "uStack_100") (= "=") (number_literal "1")) (; ";")) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" (identifier "puStack_104") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" (identifier "iVar2") (= "=") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28)" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar15") (, ",") (number_literal "0x28") () ")")))) (; ";")) (expression_statement "local_d8 = *(uint *)(local_a4 + 0x1c);" (assignment_expression "local_d8 = *(uint *)(local_a4 + 0x1c)" (identifier "local_d8") (= "=") (pointer_expression "*(uint *)(local_a4 + 0x1c)" (* "*") (cast_expression "(uint *)(local_a4 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x1c)" (( "(") (binary_expression "local_a4 + 0x1c" (identifier "local_a4") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" (if "if") (parenthesized_expression "(*(uint *)(iVar2 + 0x14) >> 4 <= local_d8)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x14) >> 4 <= local_d8" (binary_expression "*(uint *)(iVar2 + 0x14) >> 4" (pointer_expression "*(uint *)(iVar2 + 0x14)" (* "*") (cast_expression "(uint *)(iVar2 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (>> ">>") (number_literal "4")) (<= "<=") (identifier "local_d8")) () ")")) (compound_statement "{\n    uVar5 = gettext(local_c0 + -0x3a03f);\n    uStack_100 = local_d8;\n    puStack_104 = param_4;\n    ppuVar10 = &puStack_104;\n    goto LAB_000cd301;\n  }" ({ "{") (expression_statement "uVar5 = gettext(local_c0 + -0x3a03f);" (assignment_expression "uVar5 = gettext(local_c0 + -0x3a03f)" (identifier "uVar5") (= "=") (call_expression "gettext(local_c0 + -0x3a03f)" (identifier "gettext") (argument_list "(local_c0 + -0x3a03f)" (( "(") (binary_expression "local_c0 + -0x3a03f" (identifier "local_c0") (+ "+") (number_literal "-0x3a03f")) () ")")))) (; ";")) (expression_statement "uStack_100 = local_d8;" (assignment_expression "uStack_100 = local_d8" (identifier "uStack_100") (= "=") (identifier "local_d8")) (; ";")) (expression_statement "puStack_104 = param_4;" (assignment_expression "puStack_104 = param_4" (identifier "puStack_104") (= "=") (identifier "param_4")) (; ";")) (expression_statement "ppuVar10 = &puStack_104;" (assignment_expression "ppuVar10 = &puStack_104" (identifier "ppuVar10") (= "=") (pointer_expression "&puStack_104" (& "&") (identifier "puStack_104"))) (; ";")) (goto_statement "goto LAB_000cd301;" (goto "goto") (statement_identifier "LAB_000cd301") (; ";")) (} "}"))) (expression_statement "ppiVar12 = &local_fc;" (assignment_expression "ppiVar12 = &local_fc" (identifier "ppiVar12") (= "=") (pointer_expression "&local_fc" (& "&") (identifier "local_fc"))) (; ";")) (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" (if "if") (parenthesized_expression "(param_1[7] == 0)" (( "(") (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cd7c6;" (goto "goto") (statement_identifier "LAB_000cd7c6") (; ";"))) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" (identifier "uStack_100") (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" (identifier "puStack_104") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);" (assignment_expression "puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" (identifier "puVar3") (= "=") (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10)" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (binary_expression "local_d8 * 0x10 + *(int *)(iVar2 + 0x10)" (binary_expression "local_d8 * 0x10" (identifier "local_d8") (* "*") (number_literal "0x10")) (+ "+") (pointer_expression "*(int *)(iVar2 + 0x10)" (* "*") (cast_expression "(int *)(iVar2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (number_literal "0") (, ",") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar2 + 0x18);" (assignment_expression "puVar14 = *(uint **)(iVar2 + 0x18)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar2 + 0x18)" (* "*") (cast_expression "(uint **)(iVar2 + 0x18)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((uint *)0xfeff < puVar14) {\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" (if "if") (parenthesized_expression "((uint *)0xfeff < puVar14)" (( "(") (binary_expression "(uint *)0xfeff < puVar14" (cast_expression "(uint *)0xfeff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfeff")) (< "<") (identifier "puVar14")) () ")")) (compound_statement "{\n    FUN_000c47d0(local_cc);\n    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n  }" ({ "{") (expression_statement "FUN_000c47d0(local_cc);" (call_expression "FUN_000c47d0(local_cc)" (identifier "FUN_000c47d0") (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" (identifier "puVar14") (= "=") (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + param_1[0x29])" (( "(") (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }\n  else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" (if "if") (parenthesized_expression "(*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac)" (( "(") (binary_expression "*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac" (pointer_expression "*(undefined ***)(*param_1 + 0x38)" (* "*") (cast_expression "(undefined ***)(*param_1 + 0x38)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (binary_expression "local_c0 + -0x9e6ac" (identifier "local_c0") (+ "+") (number_literal "-0x9e6ac"))) () ")")) (compound_statement "{\n    puStack_104 = puVar14;\n    FUN_000c5480(&local_40,local_cc);\n    ppiVar12 = (int **)&uStack_100;\n    ppiVar9 = (int **)&uStack_100;\n    if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }\n    local_a0 = local_38;\n    if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }\n  }" ({ "{") (expression_statement "puStack_104 = puVar14;" (assignment_expression "puStack_104 = puVar14" (identifier "puStack_104") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "FUN_000c5480(&local_40,local_cc);" (call_expression "FUN_000c5480(&local_40,local_cc)" (identifier "FUN_000c5480") (argument_list "(&local_40,local_cc)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "ppiVar12 = (int **)&uStack_100;" (assignment_expression "ppiVar12 = (int **)&uStack_100" (identifier "ppiVar12") (= "=") (cast_expression "(int **)&uStack_100" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_100" (& "&") (identifier "uStack_100")))) (; ";")) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" (identifier "ppiVar9") (= "=") (cast_expression "(int **)&uStack_100" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_100" (& "&") (identifier "uStack_100")))) (; ";")) (if_statement "if (local_34 != 0) {\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" (if "if") (parenthesized_expression "(local_34 != 0)" (( "(") (binary_expression "local_34 != 0" (identifier "local_34") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);\n    }" ({ "{") (expression_statement "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);" (call_expression "FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" (identifier "FUN_0008b620") (argument_list "(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56)" (( "(") (binary_expression "local_c0 + -0x3ced3" (identifier "local_c0") (+ "+") (number_literal "-0x3ced3")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "local_c0 + -0x39e56" (identifier "local_c0") (+ "+") (number_literal "-0x39e56")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_a0 = local_38;" (assignment_expression "local_a0 = local_38" (identifier "local_a0") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (local_38 == 0) {\n      uVar13 = *puVar3;\n    }\n    else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" (if "if") (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = *puVar3;\n    }" ({ "{") (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" (identifier "uVar13") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (} "}")) (else_clause "else {\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" (else "else") (compound_statement "{\n      if (param_1[7] == 0) goto LAB_000cd7c6;\n      puStack_104 = (uint *)0x1;\n      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);\n      uVar13 = *puVar3;\n      ppiVar9 = (int **)&uStack_100;\n      ppiVar11 = (int **)&uStack_100;\n      if (uVar13 < local_a0) goto LAB_000cd02a;\n    }" ({ "{") (if_statement "if (param_1[7] == 0) goto LAB_000cd7c6;" (if "if") (parenthesized_expression "(param_1[7] == 0)" (( "(") (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cd7c6;" (goto "goto") (statement_identifier "LAB_000cd7c6") (; ";"))) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" (identifier "puStack_104") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);" (assignment_expression "iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" (identifier "iVar2") (= "=") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1)" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "local_40") (, ",") (identifier "local_3c") (, ",") (identifier "local_38") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" (identifier "uVar13") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "ppiVar9 = (int **)&uStack_100;" (assignment_expression "ppiVar9 = (int **)&uStack_100" (identifier "ppiVar9") (= "=") (cast_expression "(int **)&uStack_100" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_100" (& "&") (identifier "uStack_100")))) (; ";")) (expression_statement "ppiVar11 = (int **)&uStack_100;" (assignment_expression "ppiVar11 = (int **)&uStack_100" (identifier "ppiVar11") (= "=") (cast_expression "(int **)&uStack_100" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_100" (& "&") (identifier "uStack_100")))) (; ";")) (if_statement "if (uVar13 < local_a0) goto LAB_000cd02a;" (if "if") (parenthesized_expression "(uVar13 < local_a0)" (( "(") (binary_expression "uVar13 < local_a0" (identifier "uVar13") (< "<") (identifier "local_a0")) () ")")) (goto_statement "goto LAB_000cd02a;" (goto "goto") (statement_identifier "LAB_000cd02a") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" (else "else") (compound_statement "{\n    puStack_104 = &local_a0;\n    uStack_100 = 1;\n    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);\n    uVar13 = *puVar3;\n    if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }\n  }" ({ "{") (expression_statement "puStack_104 = &local_a0;" (assignment_expression "puStack_104 = &local_a0" (identifier "puStack_104") (= "=") (pointer_expression "&local_a0" (& "&") (identifier "local_a0"))) (; ";")) (expression_statement "uStack_100 = 1;" (assignment_expression "uStack_100 = 1" (identifier "uStack_100") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);" (assignment_expression "iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" (identifier "iVar2") (= "=") (call_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 0x38))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*param_1 + 0x38)" (* "*") (cast_expression "(code *)*(undefined ***)(*param_1 + 0x38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*param_1 + 0x38)" (* "*") (cast_expression "(undefined ***)(*param_1 + 0x38)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")")))))) () ")")) (argument_list "(param_1,puVar14)" (( "(") (identifier "param_1") (, ",") (identifier "puVar14") () ")")))) (; ";")) (expression_statement "uVar13 = *puVar3;" (assignment_expression "uVar13 = *puVar3" (identifier "uVar13") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (if_statement "if (uVar13 < local_a0) {\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" (if "if") (parenthesized_expression "(uVar13 < local_a0)" (( "(") (binary_expression "uVar13 < local_a0" (identifier "uVar13") (< "<") (identifier "local_a0")) () ")")) (compound_statement "{\nLAB_000cd02a:\n      local_ec = local_80;\n      iVar6 = -1;\n      iVar2 = uVar13 + iVar2;\n      local_88[0] = local_ec;\n      if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }\n      *(undefined4 *)((int)ppiVar11 + -4) = 0;\n      *(int *)((int)ppiVar11 + -8) = iVar6;\n      *(int *)((int)ppiVar11 + -0xc) = iVar2;\n      *(char ***)((int)ppiVar11 + -0x10) = local_88;\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;\n      FUN_00056c80();\n      uVar5 = extraout_EDX;\n      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }\nLAB_000cd084:\n      local_9c = 0;\n      if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }\n      if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }\nLAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }\n      *(char **)((int)ppiVar11 + -0x10) = local_88[0];\n      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;\n      FUN_001ac470();\n      return local_ce;\n    }" ({ "{") (labeled_statement "LAB_000cd02a:\n      local_ec = local_80;" (statement_identifier "LAB_000cd02a") (: ":") (expression_statement "local_ec = local_80;" (assignment_expression "local_ec = local_80" (identifier "local_ec") (= "=") (identifier "local_80")) (; ";"))) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (expression_statement "iVar2 = uVar13 + iVar2;" (assignment_expression "iVar2 = uVar13 + iVar2" (identifier "iVar2") (= "=") (binary_expression "uVar13 + iVar2" (identifier "uVar13") (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "local_88[0] = local_ec;" (assignment_expression "local_88[0] = local_ec" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_ec")) (; ";")) (if_statement "if (iVar2 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = iVar2;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;\n        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));\n        iVar6 = iVar2 + sVar4;\n      }" ({ "{") (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd051")) (; ";")) (expression_statement "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10))" (identifier "sVar4") (= "=") (call_expression "strlen(*(char **)((int)ppiVar11 + -0x10))" (identifier "strlen") (argument_list "(*(char **)((int)ppiVar11 + -0x10))" (( "(") (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(char **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar6 = iVar2 + sVar4;" (assignment_expression "iVar6 = iVar2 + sVar4" (identifier "iVar6") (= "=") (binary_expression "iVar2 + sVar4" (identifier "iVar2") (+ "+") (identifier "sVar4"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -4)" (( "(") (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -8) = iVar6;" (assignment_expression "*(int *)((int)ppiVar11 + -8) = iVar6" (pointer_expression "*(int *)((int)ppiVar11 + -8)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0xc) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0xc) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(char ***)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd067")) (; ";")) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" (identifier "FUN_00056c80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = extraout_EDX;" (assignment_expression "uVar5 = extraout_EDX" (identifier "uVar5") (= "=") (identifier "extraout_EDX")) (; ";")) (if_statement "if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" (if "if") (parenthesized_expression "((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3))" (( "(") (binary_expression "(*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)" (parenthesized_expression "(*local_88[0] == '\0')" (( "(") (binary_expression "*local_88[0] == '\0'" (pointer_expression "*local_88[0]" (* "*") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((puVar3[3] & 0xf) == 3)" (( "(") (binary_expression "(puVar3[3] & 0xf) == 3" (parenthesized_expression "(puVar3[3] & 0xf)" (( "(") (binary_expression "puVar3[3] & 0xf" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);\n        uVar15 = CONCAT44(extraout_EDX,uVar13);\n        if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }\n        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;\n        uVar5 = gettext();\n        *(uint *)((int)ppiVar11 + -4) = uVar13;\n        *(uint *)((int)ppiVar11 + -8) = local_d8;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;\n        *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;\n        FUN_000beb20();\n        local_ce = '\0';\n        goto LAB_000cd55f;\n      }" ({ "{") (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(ushort *)((int)puVar3 + 0xe)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((int)puVar3 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + 0xe)" (( "(") (binary_expression "(int)puVar3 + 0xe" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "uVar15 = CONCAT44(extraout_EDX,uVar13);" (assignment_expression "uVar15 = CONCAT44(extraout_EDX,uVar13)" (identifier "uVar15") (= "=") (call_expression "CONCAT44(extraout_EDX,uVar13)" (identifier "CONCAT44") (argument_list "(extraout_EDX,uVar13)" (( "(") (identifier "extraout_EDX") (, ",") (identifier "uVar13") () ")")))) (; ";")) (if_statement "if (uVar13 < 0xff00) {\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }\n        else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" (if "if") (parenthesized_expression "(uVar13 < 0xff00)" (( "(") (binary_expression "uVar13 < 0xff00" (identifier "uVar13") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\nLAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);\n          uVar13 = (uint)uVar15;\n          if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }\n        }" ({ "{") (labeled_statement "LAB_000cd408:\n          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" (statement_identifier "LAB_000cd408") (: ":") (expression_statement "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(undefined4)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar15 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar15")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "uVar13 = (uint)uVar15;" (assignment_expression "uVar13 = (uint)uVar15" (identifier "uVar13") (= "=") (cast_expression "(uint)uVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar15"))) (; ";")) (if_statement "if (uVar13 < (uint)param_1[10]) {\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" (if "if") (parenthesized_expression "(uVar13 < (uint)param_1[10])" (( "(") (binary_expression "uVar13 < (uint)param_1[10]" (identifier "uVar13") (< "<") (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) () ")")) (compound_statement "{\n            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);\n            if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }\n            goto LAB_000cd084;\n          }" ({ "{") (expression_statement "uVar13 = *(uint *)(param_6 + uVar13 * 0x28);" (assignment_expression "uVar13 = *(uint *)(param_6 + uVar13 * 0x28)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(param_6 + uVar13 * 0x28)" (* "*") (cast_expression "(uint *)(param_6 + uVar13 * 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + uVar13 * 0x28)" (( "(") (binary_expression "param_6 + uVar13 * 0x28" (identifier "param_6") (+ "+") (binary_expression "uVar13 * 0x28" (identifier "uVar13") (* "*") (number_literal "0x28"))) () ")"))))) (; ";")) (if_statement "if (uVar13 < param_8) {\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" (if "if") (parenthesized_expression "(uVar13 < param_8)" (( "(") (binary_expression "uVar13 < param_8" (identifier "uVar13") (< "<") (identifier "param_8")) () ")")) (compound_statement "{\n              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;\n              *(char ***)((int)ppiVar11 + -0x10) = local_88;\n              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;\n              FUN_001b54d0();\n              uVar5 = extraout_EDX_00;\n            }" ({ "{") (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "uVar13 + param_7" (identifier "uVar13") (+ "+") (identifier "param_7"))) (; ";")) (expression_statement "*(char ***)((int)ppiVar11 + -0x10) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x10) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(char ***)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd435")) (; ";")) (expression_statement "FUN_001b54d0();" (call_expression "FUN_001b54d0()" (identifier "FUN_001b54d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = extraout_EDX_00;" (assignment_expression "uVar5 = extraout_EDX_00" (identifier "uVar5") (= "=") (identifier "extraout_EDX_00")) (; ";")) (} "}"))) (goto_statement "goto LAB_000cd084;" (goto "goto") (statement_identifier "LAB_000cd084") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" (else "else") (if_statement "if (uVar13 == 0xffff) {\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" (if "if") (parenthesized_expression "(uVar13 == 0xffff)" (( "(") (binary_expression "uVar13 == 0xffff" (identifier "uVar13") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n          iVar2 = param_1[0xc];\n          if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }\n          *(uint *)((int)ppiVar11 + -8) = local_d8;\n          *(int **)((int)ppiVar11 + -0xc) = param_1;\n          *(int *)((int)ppiVar11 + -0x10) = iVar2;\n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;\n          uVar15 = FUN_000beba0();\n          goto LAB_000cd408;\n        }" ({ "{") (expression_statement "iVar2 = param_1[0xc];" (assignment_expression "iVar2 = param_1[0xc]" (identifier "iVar2") (= "=") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (iVar2 == 0) {\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar2 = *param_1;\n            *(int **)((int)ppiVar11 + -0x10) = param_1;\n                    \n            pcVar1 = *(code **)(iVar2 + 0x6c);\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;\n            iVar2 = (*pcVar1)();\n            param_1[0xc] = iVar2;\n          }" ({ "{") (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" (identifier "iVar2") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar2 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar2 + 0x6c)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar2 + 0x6c)" (* "*") (cast_expression "(code **)(iVar2 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x6c)" (( "(") (binary_expression "iVar2 + 0x6c" (identifier "iVar2") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd7b8")) (; ";")) (expression_statement "iVar2 = (*pcVar1)();" (assignment_expression "iVar2 = (*pcVar1)()" (identifier "iVar2") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[0xc] = iVar2;" (assignment_expression "param_1[0xc] = iVar2" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (} "}"))) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_d8")) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd403")) (; ";")) (expression_statement "uVar15 = FUN_000beba0();" (assignment_expression "uVar15 = FUN_000beba0()" (identifier "uVar15") (= "=") (call_expression "FUN_000beba0()" (identifier "FUN_000beba0") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_000cd408;" (goto "goto") (statement_identifier "LAB_000cd408") (; ";")) (} "}"))))) (expression_statement "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b" (pointer_expression "*(undefined ***)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_c0 + -0x3a02b" (identifier "local_c0") (+ "+") (number_literal "-0x3a02b"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd3c1")) (; ";")) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" (identifier "uVar5") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)((int)ppiVar11 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar11 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar11 + -4)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -4)" (( "(") (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "*(uint *)((int)ppiVar11 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar11 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar11 + -8)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_d8")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd3d4")) (; ";")) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" (identifier "FUN_000beb20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" (identifier "local_ce") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (goto_statement "goto LAB_000cd55f;" (goto "goto") (statement_identifier "LAB_000cd55f") (; ";")) (} "}"))) (labeled_statement "LAB_000cd084:\n      local_9c = 0;" (statement_identifier "LAB_000cd084") (: ":") (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((local_e8 & 1) == 0) {\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }\n      else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" (if "if") (parenthesized_expression "((local_e8 & 1) == 0)" (( "(") (binary_expression "(local_e8 & 1) == 0" (parenthesized_expression "(local_e8 & 1)" (( "(") (binary_expression "local_e8 & 1" (identifier "local_e8") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_c4 = *(uint *)(local_a4 + 0x14);\n        local_d9 = '\0';\nLAB_000cd0d2:\n        local_c4 = local_c4 >> 2;\n        uVar13 = local_c4;\n        local_8c = (undefined4 *)0x0;\n        local_90 = (undefined4 *)0x0;\n        local_94 = 0;\n        if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }\n        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);\n        if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }\n        local_ce = '\x01';\n        if (1 < local_c4) goto LAB_000cd114;\n      }" ({ "{") (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" (identifier "local_c4") (= "=") (pointer_expression "*(uint *)(local_a4 + 0x14)" (* "*") (cast_expression "(uint *)(local_a4 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x14)" (( "(") (binary_expression "local_a4 + 0x14" (identifier "local_a4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_d9 = '\0';" (assignment_expression "local_d9 = '\0'" (identifier "local_d9") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (labeled_statement "LAB_000cd0d2:\n        local_c4 = local_c4 >> 2;" (statement_identifier "LAB_000cd0d2") (: ":") (expression_statement "local_c4 = local_c4 >> 2;" (assignment_expression "local_c4 = local_c4 >> 2" (identifier "local_c4") (= "=") (binary_expression "local_c4 >> 2" (identifier "local_c4") (>> ">>") (number_literal "2"))) (; ";"))) (expression_statement "uVar13 = local_c4;" (assignment_expression "uVar13 = local_c4" (identifier "uVar13") (= "=") (identifier "local_c4")) (; ";")) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" (identifier "local_8c") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" (identifier "local_90") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(local_c0[0xbc] + 8) == 0) {\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" (if "if") (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) == 0)" (( "(") (binary_expression "*(int *)(local_c0[0xbc] + 8) == 0" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" (* "*") (cast_expression "(int *)(local_c0[0xbc] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c0[0xbc] + 8)" (( "(") (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" (identifier "local_c0") ([ "[") (number_literal "0xbc") (] "]")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;\n          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;\n          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;\n          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;\n                    \n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;\n          FUN_0008b620();\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)ppiVar11 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -4)" (( "(") (binary_expression "(int)ppiVar11 + -4" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;" (assignment_expression "*(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39" (pointer_expression "*(undefined ***)((int)ppiVar11 + -8)" (* "*") (cast_expression "(undefined ***)((int)ppiVar11 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_c0 + -0x39d39" (identifier "local_c0") (+ "+") (number_literal "-0x39d39"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_c0 + -0xf8d93" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (+ "+") (number_literal "-0xf8d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd806")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);" (assignment_expression "local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" (identifier "local_cd") (= "=") (pointer_expression "*(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_c0[0xbc] + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(local_c0[0xbc] + 8) + 0x318d" (pointer_expression "*(int *)(local_c0[0xbc] + 8)" (* "*") (cast_expression "(int *)(local_c0[0xbc] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c0[0xbc] + 8)" (( "(") (binary_expression "local_c0[0xbc] + 8" (subscript_expression "local_c0[0xbc]" (identifier "local_c0") ([ "[") (number_literal "0xbc") (] "]")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")"))))) (; ";")) (if_statement "if (local_cd != '\0') {\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" (if "if") (parenthesized_expression "(local_cd != '\0')" (( "(") (binary_expression "local_cd != '\0'" (identifier "local_cd") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;\n          FUN_000c45a0();\n          local_ce = local_cd;\n          if (1 < uVar13) goto LAB_000cd114;\n          goto LAB_000cd50f;\n        }" ({ "{") (expression_statement "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;" (assignment_expression "*(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1" (pointer_expression "*(uint *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_c4 - 1" (identifier "local_c4") (- "-") (number_literal "1"))) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd739")) (; ";")) (expression_statement "FUN_000c45a0();" (call_expression "FUN_000c45a0()" (identifier "FUN_000c45a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_ce = local_cd;" (assignment_expression "local_ce = local_cd" (identifier "local_ce") (= "=") (identifier "local_cd")) (; ";")) (if_statement "if (1 < uVar13) goto LAB_000cd114;" (if "if") (parenthesized_expression "(1 < uVar13)" (( "(") (binary_expression "1 < uVar13" (number_literal "1") (< "<") (identifier "uVar13")) () ")")) (goto_statement "goto LAB_000cd114;" (goto "goto") (statement_identifier "LAB_000cd114") (; ";"))) (goto_statement "goto LAB_000cd50f;" (goto "goto") (statement_identifier "LAB_000cd50f") (; ";")) (} "}"))) (expression_statement "local_ce = '\x01';" (assignment_expression "local_ce = '\x01'" (identifier "local_ce") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if (1 < local_c4) goto LAB_000cd114;" (if "if") (parenthesized_expression "(1 < local_c4)" (( "(") (binary_expression "1 < local_c4" (number_literal "1") (< "<") (identifier "local_c4")) () ")")) (goto_statement "goto LAB_000cd114;" (goto "goto") (statement_identifier "LAB_000cd114") (; ";"))) (} "}")) (else_clause "else {\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" (else "else") (compound_statement "{\n        *(int **)((int)ppiVar11 + -8) = &local_9c;\n        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;\n        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;\n        *(uint **)((int)ppiVar11 + -0x14) = param_4;\n        *(int **)((int)ppiVar11 + -0x18) = param_1;\n        *(char ***)((int)ppiVar11 + -0x1c) = local_88;\n        *(int *)((int)ppiVar11 + -0x20) = param_3;\n                    \n        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;\n        local_d9 = FUN_000b0300();\n        if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }\n        local_94 = 0;\n        local_90 = (undefined4 *)0x0;\n        local_ce = '\0';\n        local_8c = (undefined4 *)0x0;\n        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;\n        if (local_c4 < 2) goto LAB_000cd55f;\n        local_cd = '\0';\n        local_d9 = '\x01';\nLAB_000cd114:\n        local_f8 = &local_98;\n        uVar13 = 1;\n        local_fc = &local_94;\n        puVar8 = (undefined1 *)ppiVar11;\n        do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);\n        if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }\n      }" ({ "{") (expression_statement "*(int **)((int)ppiVar11 + -8) = &local_9c;" (assignment_expression "*(int **)((int)ppiVar11 + -8) = &local_9c" (pointer_expression "*(int **)((int)ppiVar11 + -8)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_9c" (& "&") (identifier "local_9c"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(uint **)((int)ppiVar11 + -0x14) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x14) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(uint **)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x18)" (( "(") (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(char ***)((int)ppiVar11 + -0x1c) = local_88;" (assignment_expression "*(char ***)((int)ppiVar11 + -0x1c) = local_88" (pointer_expression "*(char ***)((int)ppiVar11 + -0x1c)" (* "*") (cast_expression "(char ***)((int)ppiVar11 + -0x1c)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x1c)" (( "(") (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0x20) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x20) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x20)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x20)" (( "(") (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x24)" (( "(") (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xcd68d")) (; ";")) (expression_statement "local_d9 = FUN_000b0300();" (assignment_expression "local_d9 = FUN_000b0300()" (identifier "local_d9") (= "=") (call_expression "FUN_000b0300()" (identifier "FUN_000b0300") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_d9 != '\0') {\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" (if "if") (parenthesized_expression "(local_d9 != '\0')" (( "(") (binary_expression "local_d9 != '\0'" (identifier "local_d9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar2 = *(int *)(param_3 + 0x1d0);\n          uVar5 = extraout_EDX_01;\n          if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }\n          local_c4 = *(uint *)(local_a4 + 0x14);\n          goto LAB_000cd0d2;\n        }" ({ "{") (expression_statement "iVar2 = *(int *)(param_3 + 0x1d0);" (assignment_expression "iVar2 = *(int *)(param_3 + 0x1d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_3 + 0x1d0)" (* "*") (cast_expression "(int *)(param_3 + 0x1d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1d0)" (( "(") (binary_expression "param_3 + 0x1d0" (identifier "param_3") (+ "+") (number_literal "0x1d0")) () ")"))))) (; ";")) (expression_statement "uVar5 = extraout_EDX_01;" (assignment_expression "uVar5 = extraout_EDX_01" (identifier "uVar5") (= "=") (identifier "extraout_EDX_01")) (; ";")) (if_statement "if (iVar2 != 0) {\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(char **)((int)ppiVar11 + -8) = local_88[0];\n            *(int **)((int)ppiVar11 + -0xc) = param_1;\n            *(int *)((int)ppiVar11 + -0x10) = iVar2;\n            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;\n            FUN_00093370();\n            uVar5 = extraout_EDX_02;\n          }" ({ "{") (expression_statement "*(char **)((int)ppiVar11 + -8) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -8) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -8)" (* "*") (cast_expression "(char **)((int)ppiVar11 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -8)" (( "(") (binary_expression "(int)ppiVar11 + -8" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0xc) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0xc) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0xc)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0xc)" (( "(") (binary_expression "(int)ppiVar11 + -0xc" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0x10) = iVar2;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = iVar2" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd6bd")) (; ";")) (expression_statement "FUN_00093370();" (call_expression "FUN_00093370()" (identifier "FUN_00093370") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = extraout_EDX_02;" (assignment_expression "uVar5 = extraout_EDX_02" (identifier "uVar5") (= "=") (identifier "extraout_EDX_02")) (; ";")) (} "}"))) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14);" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14)" (identifier "local_c4") (= "=") (pointer_expression "*(uint *)(local_a4 + 0x14)" (* "*") (cast_expression "(uint *)(local_a4 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x14)" (( "(") (binary_expression "local_a4 + 0x14" (identifier "local_a4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (goto_statement "goto LAB_000cd0d2;" (goto "goto") (statement_identifier "LAB_000cd0d2") (; ";")) (} "}"))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = (undefined4 *)0x0;" (assignment_expression "local_90 = (undefined4 *)0x0" (identifier "local_90") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ce = '\0';" (assignment_expression "local_ce = '\0'" (identifier "local_ce") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_8c = (undefined4 *)0x0;" (assignment_expression "local_8c = (undefined4 *)0x0" (identifier "local_8c") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c4 = *(uint *)(local_a4 + 0x14) >> 2;" (assignment_expression "local_c4 = *(uint *)(local_a4 + 0x14) >> 2" (identifier "local_c4") (= "=") (binary_expression "*(uint *)(local_a4 + 0x14) >> 2" (pointer_expression "*(uint *)(local_a4 + 0x14)" (* "*") (cast_expression "(uint *)(local_a4 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 + 0x14)" (( "(") (binary_expression "local_a4 + 0x14" (identifier "local_a4") (+ "+") (number_literal "0x14")) () ")")))) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (local_c4 < 2) goto LAB_000cd55f;" (if "if") (parenthesized_expression "(local_c4 < 2)" (( "(") (binary_expression "local_c4 < 2" (identifier "local_c4") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_000cd55f;" (goto "goto") (statement_identifier "LAB_000cd55f") (; ";"))) (expression_statement "local_cd = '\0';" (assignment_expression "local_cd = '\0'" (identifier "local_cd") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_d9 = '\x01';" (assignment_expression "local_d9 = '\x01'" (identifier "local_d9") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (labeled_statement "LAB_000cd114:\n        local_f8 = &local_98;" (statement_identifier "LAB_000cd114") (: ":") (expression_statement "local_f8 = &local_98;" (assignment_expression "local_f8 = &local_98" (identifier "local_f8") (= "=") (pointer_expression "&local_98" (& "&") (identifier "local_98"))) (; ";"))) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" (identifier "uVar13") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_fc = &local_94;" (assignment_expression "local_fc = &local_94" (identifier "local_fc") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)ppiVar11" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppiVar11"))) (; ";")) (do_statement "do {\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        } while (uVar13 < local_c4);" (do "do") (compound_statement "{\n          puVar14 = (uint *)local_c8[uVar13];\n          ppiVar11 = (int **)puVar8;\n          if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }\n          uVar13 = uVar13 + 1;\n          puVar8 = (undefined1 *)ppiVar11;\n        }" ({ "{") (expression_statement "puVar14 = (uint *)local_c8[uVar13];" (assignment_expression "puVar14 = (uint *)local_c8[uVar13]" (identifier "puVar14") (= "=") (cast_expression "(uint *)local_c8[uVar13]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_c8[uVar13]" (identifier "local_c8") ([ "[") (identifier "uVar13") (] "]")))) (; ";")) (expression_statement "ppiVar11 = (int **)puVar8;" (assignment_expression "ppiVar11 = (int **)puVar8" (identifier "ppiVar11") (= "=") (cast_expression "(int **)puVar8" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar8"))) (; ";")) (if_statement "if (puVar14 < (uint *)0xff00) {\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }\n          else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" (if "if") (parenthesized_expression "(puVar14 < (uint *)0xff00)" (( "(") (binary_expression "puVar14 < (uint *)0xff00" (identifier "puVar14") (< "<") (cast_expression "(uint *)0xff00" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff00"))) () ")")) (compound_statement "{\n            local_98 = puVar14;\n            if (local_cd != '\0') goto LAB_000cd246;\nLAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;\nLAB_000cd15f:\n            puVar14 = local_98;\n            if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }\n            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);\n            if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }\n          }" ({ "{") (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" (identifier "local_98") (= "=") (identifier "puVar14")) (; ";")) (if_statement "if (local_cd != '\0') goto LAB_000cd246;" (if "if") (parenthesized_expression "(local_cd != '\0')" (( "(") (binary_expression "local_cd != '\0'" (identifier "local_cd") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000cd246;" (goto "goto") (statement_identifier "LAB_000cd246") (; ";"))) (labeled_statement "LAB_000cd153:\n            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" (statement_identifier "LAB_000cd153") (: ":") (if_statement "if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;" (if "if") (parenthesized_expression "((uint *)param_1[10] <= local_98)" (( "(") (binary_expression "(uint *)param_1[10] <= local_98" (cast_expression "(uint *)param_1[10]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (<= "<=") (identifier "local_98")) () ")")) (goto_statement "goto LAB_000cd275;" (goto "goto") (statement_identifier "LAB_000cd275") (; ";")))) (labeled_statement "LAB_000cd15f:\n            puVar14 = local_98;" (statement_identifier "LAB_000cd15f") (: ":") (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" (identifier "puVar14") (= "=") (identifier "local_98")) (; ";"))) (if_statement "if (local_98 < param_4) {\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" (if "if") (parenthesized_expression "(local_98 < param_4)" (( "(") (binary_expression "local_98 < param_4" (identifier "local_98") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;\n              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;\n              uVar5 = gettext();\n              *(uint **)(puVar8 + -4) = puVar14;\n              *(uint **)(puVar8 + -8) = param_4;\n              *(undefined4 *)(puVar8 + -0xc) = uVar5;\n              *(int **)(puVar8 + -0x10) = param_1;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;\n              FUN_000beb20();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_c0 + -0x3a017" (identifier "local_c0") (+ "+") (number_literal "-0x3a017"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd455;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd455" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd455")) (; ";")) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" (identifier "uVar5") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint **)(puVar8 + -4) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -4) = puVar14" (pointer_expression "*(uint **)(puVar8 + -4)" (* "*") (cast_expression "(uint **)(puVar8 + -4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar14")) (; ";")) (expression_statement "*(uint **)(puVar8 + -8) = param_4;" (assignment_expression "*(uint **)(puVar8 + -8) = param_4" (pointer_expression "*(uint **)(puVar8 + -8)" (* "*") (cast_expression "(uint **)(puVar8 + -8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd465;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd465" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd465")) (; ";")) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" (identifier "FUN_000beb20") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);" (assignment_expression "puVar14 = (uint *)(param_6 + (int)local_98 * 0x28)" (identifier "puVar14") (= "=") (cast_expression "(uint *)(param_6 + (int)local_98 * 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + (int)local_98 * 0x28)" (( "(") (binary_expression "param_6 + (int)local_98 * 0x28" (identifier "param_6") (+ "+") (binary_expression "(int)local_98 * 0x28" (cast_expression "(int)local_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_98")) (* "*") (number_literal "0x28"))) () ")")))) (; ";")) (if_statement "if (*puVar14 < param_8) {\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" (if "if") (parenthesized_expression "(*puVar14 < param_8)" (( "(") (binary_expression "*puVar14 < param_8" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (< "<") (identifier "param_8")) () ")")) (compound_statement "{\n              local_d4 = local_68;\n              local_70 = local_d4;\n              iVar2 = -1;\n              uVar7 = *puVar14 + param_7;\n              if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }\n              *(undefined4 *)(puVar8 + -4) = 0;\n              *(int *)(puVar8 + -8) = iVar2;\n              *(uint *)(puVar8 + -0xc) = uVar7;\n              *(undefined1 ***)(puVar8 + -0x10) = &local_70;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;\n              FUN_00056c80();\n              if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }\n            }" ({ "{") (expression_statement "local_d4 = local_68;" (assignment_expression "local_d4 = local_68" (identifier "local_d4") (= "=") (identifier "local_68")) (; ";")) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" (identifier "local_70") (= "=") (identifier "local_d4")) (; ";")) (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" (identifier "iVar2") (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar7 = *puVar14 + param_7;" (assignment_expression "uVar7 = *puVar14 + param_7" (identifier "uVar7") (= "=") (binary_expression "*puVar14 + param_7" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (+ "+") (identifier "param_7"))) (; ";")) (if_statement "if (uVar7 != 0) {\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(uint *)(puVar8 + -0x10) = uVar7;\n                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;\n                local_e4 = uVar7;\n                sVar4 = strlen(*(char **)(puVar8 + -0x10));\n                iVar2 = sVar4 + local_e4;\n                uVar7 = local_e4;\n              }" ({ "{") (expression_statement "*(uint *)(puVar8 + -0x10) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0x10) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0x10)" (* "*") (cast_expression "(uint *)(puVar8 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1a3" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd1a3")) (; ";")) (expression_statement "local_e4 = uVar7;" (assignment_expression "local_e4 = uVar7" (identifier "local_e4") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "sVar4 = strlen(*(char **)(puVar8 + -0x10));" (assignment_expression "sVar4 = strlen(*(char **)(puVar8 + -0x10))" (identifier "sVar4") (= "=") (call_expression "strlen(*(char **)(puVar8 + -0x10))" (identifier "strlen") (argument_list "(*(char **)(puVar8 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar8 + -0x10)" (* "*") (cast_expression "(char **)(puVar8 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar2 = sVar4 + local_e4;" (assignment_expression "iVar2 = sVar4 + local_e4" (identifier "iVar2") (= "=") (binary_expression "sVar4 + local_e4" (identifier "sVar4") (+ "+") (identifier "local_e4"))) (; ";")) (expression_statement "uVar7 = local_e4;" (assignment_expression "uVar7 = local_e4" (identifier "uVar7") (= "=") (identifier "local_e4")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar8 + -8) = iVar2;" (assignment_expression "*(int *)(puVar8 + -8) = iVar2" (pointer_expression "*(int *)(puVar8 + -8)" (* "*") (cast_expression "(int *)(puVar8 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(uint *)(puVar8 + -0xc) = uVar7;" (assignment_expression "*(uint *)(puVar8 + -0xc) = uVar7" (pointer_expression "*(uint *)(puVar8 + -0xc)" (* "*") (cast_expression "(uint *)(puVar8 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined1 ***)(puVar8 + -0x10) = &local_70;" (assignment_expression "*(undefined1 ***)(puVar8 + -0x10) = &local_70" (pointer_expression "*(undefined1 ***)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined1 ***)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_70" (& "&") (identifier "local_70"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd1bb" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd1bb")) (; ";")) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" (identifier "FUN_00056c80") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_ce == '\0') {\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }\n              else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" (if "if") (parenthesized_expression "(local_ce == '\0')" (( "(") (binary_expression "local_ce == '\0'" (identifier "local_ce") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);\n                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);\n                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" ({ "{") (expression_statement "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);" (assignment_expression "puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" (identifier "puVar3") (= "=") (cast_expression "(uint *)(*param_9 + ((uint)local_98 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_9 + ((uint)local_98 >> 5) * 4)" (( "(") (binary_expression "*param_9 + ((uint)local_98 >> 5) * 4" (pointer_expression "*param_9" (* "*") (identifier "param_9")) (+ "+") (binary_expression "((uint)local_98 >> 5) * 4" (parenthesized_expression "((uint)local_98 >> 5)" (( "(") (binary_expression "(uint)local_98 >> 5" (cast_expression "(uint)local_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_98")) (>> ">>") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);" (assignment_expression "*puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "*puVar3 | 1 << ((byte)local_98 & 0x1f)" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (| "|") (binary_expression "1 << ((byte)local_98 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)local_98 & 0x1f)" (( "(") (binary_expression "(byte)local_98 & 0x1f" (cast_expression "(byte)local_98" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_98")) (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (if_statement "if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" (if "if") (parenthesized_expression "((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))))" (( "(") (binary_expression "(local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" (parenthesized_expression "(local_d9 != '\0')" (( "(") (binary_expression "local_d9 != '\0'" (identifier "local_d9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))" (( "(") (parenthesized_expression "(local_c4 == 2 || (*(char *)(local_9c + 8) != '\0'))" (( "(") (binary_expression "local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')" (binary_expression "local_c4 == 2" (identifier "local_c4") (== "==") (number_literal "2")) (|| "||") (parenthesized_expression "(*(char *)(local_9c + 8) != '\0')" (( "(") (binary_expression "*(char *)(local_9c + 8) != '\0'" (pointer_expression "*(char *)(local_9c + 8)" (* "*") (cast_expression "(char *)(local_9c + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 8)" (( "(") (binary_expression "local_9c + 8" (identifier "local_9c") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  local_54 = puVar14[5];\n                  local_58 = local_98;\n                  local_4c = local_9c;\n                  *(uint ***)(puVar8 + -8) = &local_58;\n                  local_48 = local_d8;\n                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;\n                  *(undefined1 **)(puVar8 + -0x10) = local_bc;\n                  local_50 = 0;\n                  local_44 = 1;\n                    \n                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;\n                  FUN_000c7070();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" ({ "{") (expression_statement "local_54 = puVar14[5];" (assignment_expression "local_54 = puVar14[5]" (identifier "local_54") (= "=") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_58 = local_98;" (assignment_expression "local_58 = local_98" (identifier "local_58") (= "=") (identifier "local_98")) (; ";")) (expression_statement "local_4c = local_9c;" (assignment_expression "local_4c = local_9c" (identifier "local_4c") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(uint ***)(puVar8 + -8) = &local_58;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_58" (pointer_expression "*(uint ***)(puVar8 + -8)" (* "*") (cast_expression "(uint ***)(puVar8 + -8)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_58" (& "&") (identifier "local_58"))) (; ";")) (expression_statement "local_48 = local_d8;" (assignment_expression "local_48 = local_d8" (identifier "local_48") (= "=") (identifier "local_d8")) (; ";")) (expression_statement "*(int **)(puVar8 + -0xc) = param_1 + 0x41;" (assignment_expression "*(int **)(puVar8 + -0xc) = param_1 + 0x41" (pointer_expression "*(int **)(puVar8 + -0xc)" (* "*") (cast_expression "(int **)(puVar8 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "param_1 + 0x41" (identifier "param_1") (+ "+") (number_literal "0x41"))) (; ";")) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_bc;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_bc" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd4f5" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd4f5")) (; ";")) (expression_statement "FUN_000c7070();" (call_expression "FUN_000c7070()" (identifier "FUN_000c7070") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" (identifier "ppiVar11") (= "=") (cast_expression "(int **)(puVar8 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" (else "else") (if_statement "if (local_d9 != '\0') {\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" (if "if") (parenthesized_expression "(local_d9 != '\0')" (( "(") (binary_expression "local_d9 != '\0'" (identifier "local_d9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                local_e4 = puVar14[5];\n                local_e0 = 0;\n                local_f0 = local_98;\n                if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }\n                local_f4 = *(undefined4 *)(local_9c + 0xc);\n                *(undefined4 *)(puVar8 + -4) = 0;\n                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;\n                *(undefined1 **)(puVar8 + -0xc) = local_70;\n                *(uint ***)(puVar8 + -0x10) = &local_40;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;\n                local_40 = &local_38;\n                FUN_0007c4c0();\n                *(uint ***)(puVar8 + -8) = &local_40;\n                local_24 = local_e4;\n                *(undefined4 *)(puVar8 + -0xc) = local_f4;\n                *(undefined1 **)(puVar8 + -0x10) = local_b4;\n                local_28 = local_f0;\n                local_20 = local_e0;\n                    \n                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;\n                FUN_000c4080();\n                ppiVar11 = (int **)(puVar8 + -4);\n                if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }\n              }" ({ "{") (expression_statement "local_e4 = puVar14[5];" (assignment_expression "local_e4 = puVar14[5]" (identifier "local_e4") (= "=") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f0 = local_98;" (assignment_expression "local_f0 = local_98" (identifier "local_f0") (= "=") (identifier "local_98")) (; ";")) (if_statement "if (*(char *)(local_9c + 8) == '\0') {\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" (if "if") (parenthesized_expression "(*(char *)(local_9c + 8) == '\0')" (( "(") (binary_expression "*(char *)(local_9c + 8) == '\0'" (pointer_expression "*(char *)(local_9c + 8)" (* "*") (cast_expression "(char *)(local_9c + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 8)" (( "(") (binary_expression "local_9c + 8" (identifier "local_9c") (+ "+") (number_literal "8")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  *(int *)(puVar8 + -4) = local_9c;\n                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;\n                  *(undefined4 *)(puVar8 + -0xc) = 0x135;\n                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;\n                    \n                    \n                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;\n                  FUN_0008b620();\n                }" ({ "{") (expression_statement "*(int *)(puVar8 + -4) = local_9c;" (assignment_expression "*(int *)(puVar8 + -4) = local_9c" (pointer_expression "*(int *)(puVar8 + -4)" (* "*") (cast_expression "(int *)(puVar8 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;" (assignment_expression "*(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b" (pointer_expression "*(undefined ***)(puVar8 + -8)" (* "*") (cast_expression "(undefined ***)(puVar8 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_c0 + -0x39e6b" (identifier "local_c0") (+ "+") (number_literal "-0x39e6b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 0x135;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 0x135" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x135")) (; ";")) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_c0 + -0x3ad16" (identifier "local_c0") (+ "+") (number_literal "-0x3ad16"))) (; ";")) (expression_statement "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;" (assignment_expression "*(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825" (pointer_expression "*(undefined1 **)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_000cd825" (& "&") (identifier "LAB_000cd825"))) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_f4 = *(undefined4 *)(local_9c + 0xc);" (assignment_expression "local_f4 = *(undefined4 *)(local_9c + 0xc)" (identifier "local_f4") (= "=") (pointer_expression "*(undefined4 *)(local_9c + 0xc)" (* "*") (cast_expression "(undefined4 *)(local_9c + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0xc)" (( "(") (binary_expression "local_9c + 0xc" (identifier "local_9c") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar8 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar8 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c;" (assignment_expression "*(undefined1 **)(puVar8 + -8) = local_70 + local_6c" (pointer_expression "*(undefined1 **)(puVar8 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar8 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_70 + local_6c" (identifier "local_70") (+ "+") (identifier "local_6c"))) (; ";")) (expression_statement "*(undefined1 **)(puVar8 + -0xc) = local_70;" (assignment_expression "*(undefined1 **)(puVar8 + -0xc) = local_70" (pointer_expression "*(undefined1 **)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(uint ***)(puVar8 + -0x10) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -0x10) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -0x10)" (* "*") (cast_expression "(uint ***)(puVar8 + -0x10)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd5e9" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd5e9")) (; ";")) (expression_statement "local_40 = &local_38;" (assignment_expression "local_40 = &local_38" (identifier "local_40") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "FUN_0007c4c0();" (call_expression "FUN_0007c4c0()" (identifier "FUN_0007c4c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(uint ***)(puVar8 + -8) = &local_40;" (assignment_expression "*(uint ***)(puVar8 + -8) = &local_40" (pointer_expression "*(uint ***)(puVar8 + -8)" (* "*") (cast_expression "(uint ***)(puVar8 + -8)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_24 = local_e4;" (assignment_expression "local_24 = local_e4" (identifier "local_24") (= "=") (identifier "local_e4")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = local_f4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = local_f4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_f4")) (; ";")) (expression_statement "*(undefined1 **)(puVar8 + -0x10) = local_b4;" (assignment_expression "*(undefined1 **)(puVar8 + -0x10) = local_b4" (pointer_expression "*(undefined1 **)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "local_28 = local_f0;" (assignment_expression "local_28 = local_f0" (identifier "local_28") (= "=") (identifier "local_f0")) (; ";")) (expression_statement "local_20 = local_e0;" (assignment_expression "local_20 = local_e0" (identifier "local_20") (= "=") (identifier "local_e0")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd61a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd61a")) (; ";")) (expression_statement "FUN_000c4080();" (call_expression "FUN_000c4080()" (identifier "FUN_000c4080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" (identifier "ppiVar11") (= "=") (cast_expression "(int **)(puVar8 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (local_40 != &local_38) {\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" (if "if") (parenthesized_expression "(local_40 != &local_38)" (( "(") (binary_expression "local_40 != &local_38" (identifier "local_40") (!= "!=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) () ")")) (compound_statement "{\n                  *(uint **)(puVar8 + -0x14) = local_40;\n                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;\n                  FUN_001ac470();\n                  ppiVar11 = (int **)(puVar8 + -4);\n                }" ({ "{") (expression_statement "*(uint **)(puVar8 + -0x14) = local_40;" (assignment_expression "*(uint **)(puVar8 + -0x14) = local_40" (pointer_expression "*(uint **)(puVar8 + -0x14)" (* "*") (cast_expression "(uint **)(puVar8 + -0x14)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0xcd637;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0xcd637" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x18)" (( "(") (binary_expression "puVar8 + -0x18" (identifier "puVar8") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xcd637")) (; ";")) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" (identifier "FUN_001ac470") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar11 = (int **)(puVar8 + -4);" (assignment_expression "ppiVar11 = (int **)(puVar8 + -4)" (identifier "ppiVar11") (= "=") (cast_expression "(int **)(puVar8 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}"))) (} "}"))))) (if_statement "if (local_70 != local_d4) {\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" (if "if") (parenthesized_expression "(local_70 != local_d4)" (( "(") (binary_expression "local_70 != local_d4" (identifier "local_70") (!= "!=") (identifier "local_d4")) () ")")) (compound_statement "{\n                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;\n                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;\n                FUN_001ac470();\n              }" ({ "{") (expression_statement "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70;" (assignment_expression "*(undefined1 **)((int)ppiVar11 + -0x10) = local_70" (pointer_expression "*(undefined1 **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd1f2")) (; ";")) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" (identifier "FUN_001ac470") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" (else "else") (compound_statement "{\n            *(int **)(puVar8 + -0x10) = local_cc;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;\n            FUN_000c47d0();\n            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);\n            local_98 = puVar14;\n            if (local_cd == '\0') goto LAB_000cd153;\nLAB_000cd246:\n            local_98 = puVar14;\n            if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }\n            *local_90 = puVar14;\n            local_90 = local_90 + 1;\n            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;\nLAB_000cd275:\n            puVar14 = local_98;\n            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;\n            uVar5 = gettext();\n            *(uint **)(puVar8 + -4) = param_4;\n            *(uint **)(puVar8 + -8) = puVar14;\n            *(undefined4 *)(puVar8 + -0xc) = uVar5;\n            *(int **)(puVar8 + -0x10) = param_1;\n            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;\n            FUN_000beb20();\n          }" ({ "{") (expression_statement "*(int **)(puVar8 + -0x10) = local_cc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_cc" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd227;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd227" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd227")) (; ";")) (expression_statement "FUN_000c47d0();" (call_expression "FUN_000c47d0()" (identifier "FUN_000c47d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar14 = (uint *)((int)puVar14 + param_1[0x29]);" (assignment_expression "puVar14 = (uint *)((int)puVar14 + param_1[0x29])" (identifier "puVar14") (= "=") (cast_expression "(uint *)((int)puVar14 + param_1[0x29])" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + param_1[0x29])" (( "(") (binary_expression "(int)puVar14 + param_1[0x29]" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]"))) () ")")))) (; ";")) (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" (identifier "local_98") (= "=") (identifier "puVar14")) (; ";")) (if_statement "if (local_cd == '\0') goto LAB_000cd153;" (if "if") (parenthesized_expression "(local_cd == '\0')" (( "(") (binary_expression "local_cd == '\0'" (identifier "local_cd") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000cd153;" (goto "goto") (statement_identifier "LAB_000cd153") (; ";"))) (labeled_statement "LAB_000cd246:\n            local_98 = puVar14;" (statement_identifier "LAB_000cd246") (: ":") (expression_statement "local_98 = puVar14;" (assignment_expression "local_98 = puVar14" (identifier "local_98") (= "=") (identifier "puVar14")) (; ";"))) (if_statement "if (local_90 == local_8c) {\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" (if "if") (parenthesized_expression "(local_90 == local_8c)" (( "(") (binary_expression "local_90 == local_8c" (identifier "local_90") (== "==") (identifier "local_8c")) () ")")) (compound_statement "{\n              *(uint ***)(puVar8 + -8) = local_f8;\n              *(undefined4 **)(puVar8 + -0xc) = local_90;\n              *(int **)(puVar8 + -0x10) = local_fc;\n                    \n              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;\n              FUN_0009acc0();\n              goto LAB_000cd153;\n            }" ({ "{") (expression_statement "*(uint ***)(puVar8 + -8) = local_f8;" (assignment_expression "*(uint ***)(puVar8 + -8) = local_f8" (pointer_expression "*(uint ***)(puVar8 + -8)" (* "*") (cast_expression "(uint ***)(puVar8 + -8)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_f8")) (; ";")) (expression_statement "*(undefined4 **)(puVar8 + -0xc) = local_90;" (assignment_expression "*(undefined4 **)(puVar8 + -0xc) = local_90" (pointer_expression "*(undefined4 **)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 **)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(int **)(puVar8 + -0x10) = local_fc;" (assignment_expression "*(int **)(puVar8 + -0x10) = local_fc" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_fc")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd655;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd655" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd655")) (; ";")) (expression_statement "FUN_0009acc0();" (call_expression "FUN_0009acc0()" (identifier "FUN_0009acc0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000cd153;" (goto "goto") (statement_identifier "LAB_000cd153") (; ";")) (} "}"))) (expression_statement "*local_90 = puVar14;" (assignment_expression "*local_90 = puVar14" (pointer_expression "*local_90" (* "*") (identifier "local_90")) (= "=") (identifier "puVar14")) (; ";")) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" (identifier "local_90") (= "=") (binary_expression "local_90 + 1" (identifier "local_90") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;" (if "if") (parenthesized_expression "(puVar14 < (uint *)param_1[10])" (( "(") (binary_expression "puVar14 < (uint *)param_1[10]" (identifier "puVar14") (< "<") (cast_expression "(uint *)param_1[10]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) () ")")) (goto_statement "goto LAB_000cd15f;" (goto "goto") (statement_identifier "LAB_000cd15f") (; ";"))) (labeled_statement "LAB_000cd275:\n            puVar14 = local_98;" (statement_identifier "LAB_000cd275") (: ":") (expression_statement "puVar14 = local_98;" (assignment_expression "puVar14 = local_98" (identifier "puVar14") (= "=") (identifier "local_98")) (; ";"))) (expression_statement "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;" (assignment_expression "*(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022" (pointer_expression "*(undefined ***)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_c0 + -0x3a022" (identifier "local_c0") (+ "+") (number_literal "-0x3a022"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd28a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd28a")) (; ";")) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" (identifier "uVar5") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint **)(puVar8 + -4) = param_4;" (assignment_expression "*(uint **)(puVar8 + -4) = param_4" (pointer_expression "*(uint **)(puVar8 + -4)" (* "*") (cast_expression "(uint **)(puVar8 + -4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(uint **)(puVar8 + -8) = puVar14;" (assignment_expression "*(uint **)(puVar8 + -8) = puVar14" (pointer_expression "*(uint **)(puVar8 + -8)" (* "*") (cast_expression "(uint **)(puVar8 + -8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = uVar5;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = uVar5" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(int **)(puVar8 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar8 + -0x10) = param_1" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0xcd29a" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd29a")) (; ";")) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" (identifier "FUN_000beb20") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = (undefined1 *)ppiVar11;" (assignment_expression "puVar8 = (undefined1 *)ppiVar11" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)ppiVar11" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppiVar11"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < local_c4)" (( "(") (binary_expression "uVar13 < local_c4" (identifier "uVar13") (< "<") (identifier "local_c4")) () ")")) (; ";")) (if_statement "if (local_cd != '\0') {\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" (if "if") (parenthesized_expression "(local_cd != '\0')" (( "(") (binary_expression "local_cd != '\0'" (identifier "local_cd") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;\n          *(uint *)((int)ppiVar11 + -0x14) = local_e8;\n          *(int **)((int)ppiVar11 + -0x18) = &local_a4;\n          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];\n          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;\n          *(uint **)((int)ppiVar11 + -0x24) = param_4;\n          *(int **)((int)ppiVar11 + -0x28) = param_1;\n          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;\n          *(int *)((int)ppiVar11 + -0x30) = param_3;\n                    \n          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;\n          FUN_000b9ec0();\n        }" ({ "{") (labeled_statement "LAB_000cd50f:\n          *(int **)((int)ppiVar11 + -0x10) = &local_94;" (statement_identifier "LAB_000cd50f") (: ":") (expression_statement "*(int **)((int)ppiVar11 + -0x10) = &local_94;" (assignment_expression "*(int **)((int)ppiVar11 + -0x10) = &local_94" (pointer_expression "*(int **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";"))) (expression_statement "*(uint *)((int)ppiVar11 + -0x14) = local_e8;" (assignment_expression "*(uint *)((int)ppiVar11 + -0x14) = local_e8" (pointer_expression "*(uint *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(uint *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_e8")) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x18) = &local_a4;" (assignment_expression "*(int **)((int)ppiVar11 + -0x18) = &local_a4" (pointer_expression "*(int **)((int)ppiVar11 + -0x18)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x18)" (( "(") (binary_expression "(int)ppiVar11 + -0x18" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_a4" (& "&") (identifier "local_a4"))) (; ";")) (expression_statement "*(char **)((int)ppiVar11 + -0x1c) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x1c) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x1c)" (* "*") (cast_expression "(char **)((int)ppiVar11 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x1c)" (( "(") (binary_expression "(int)ppiVar11 + -0x1c" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x20) = param_5" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x20)" (( "(") (binary_expression "(int)ppiVar11 + -0x20" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(uint **)((int)ppiVar11 + -0x24) = param_4;" (assignment_expression "*(uint **)((int)ppiVar11 + -0x24) = param_4" (pointer_expression "*(uint **)((int)ppiVar11 + -0x24)" (* "*") (cast_expression "(uint **)((int)ppiVar11 + -0x24)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x24)" (( "(") (binary_expression "(int)ppiVar11 + -0x24" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int **)((int)ppiVar11 + -0x28) = param_1;" (assignment_expression "*(int **)((int)ppiVar11 + -0x28) = param_1" (pointer_expression "*(int **)((int)ppiVar11 + -0x28)" (* "*") (cast_expression "(int **)((int)ppiVar11 + -0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x28)" (( "(") (binary_expression "(int)ppiVar11 + -0x28" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x2c) = param_2" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x2c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x2c)" (( "(") (binary_expression "(int)ppiVar11 + -0x2c" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(int *)((int)ppiVar11 + -0x30) = param_3;" (assignment_expression "*(int *)((int)ppiVar11 + -0x30) = param_3" (pointer_expression "*(int *)((int)ppiVar11 + -0x30)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x30)" (( "(") (binary_expression "(int)ppiVar11 + -0x30" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x34)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x34)" (( "(") (binary_expression "(int)ppiVar11 + -0x34" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "0xcd540")) (; ";")) (expression_statement "FUN_000b9ec0();" (call_expression "FUN_000b9ec0()" (identifier "FUN_000b9ec0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_94 != 0) {\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)((int)ppiVar11 + -0x10) = local_94;\n        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;\n        FUN_001ac470();\n      }" ({ "{") (expression_statement "*(int *)((int)ppiVar11 + -0x10) = local_94;" (assignment_expression "*(int *)((int)ppiVar11 + -0x10) = local_94" (pointer_expression "*(int *)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd55c")) (; ";")) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" (identifier "FUN_001ac470") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000cd55f:\n      if (local_88[0] == local_ec) {\n        return local_ce;\n      }" (statement_identifier "LAB_000cd55f") (: ":") (if_statement "if (local_88[0] == local_ec) {\n        return local_ce;\n      }" (if "if") (parenthesized_expression "(local_88[0] == local_ec)" (( "(") (binary_expression "local_88[0] == local_ec" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (== "==") (identifier "local_ec")) () ")")) (compound_statement "{\n        return local_ce;\n      }" ({ "{") (return_statement "return local_ce;" (return "return") (identifier "local_ce") (; ";")) (} "}")))) (expression_statement "*(char **)((int)ppiVar11 + -0x10) = local_88[0];" (assignment_expression "*(char **)((int)ppiVar11 + -0x10) = local_88[0]" (pointer_expression "*(char **)((int)ppiVar11 + -0x10)" (* "*") (cast_expression "(char **)((int)ppiVar11 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x10)" (( "(") (binary_expression "(int)ppiVar11 + -0x10" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;" (assignment_expression "*(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580" (pointer_expression "*(undefined4 *)((int)ppiVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar11 + -0x14)" (( "(") (binary_expression "(int)ppiVar11 + -0x14" (cast_expression "(int)ppiVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd580")) (; ";")) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" (identifier "FUN_001ac470") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return local_ce;" (return "return") (identifier "local_ce") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;" (assignment_expression "*(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035" (pointer_expression "*(undefined ***)((int)ppiVar9 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)ppiVar9 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x10)" (( "(") (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_c0 + -0x3a035" (identifier "local_c0") (+ "+") (number_literal "-0x3a035"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x14)" (( "(") (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcd2f7")) (; ";")) (expression_statement "uVar5 = gettext();" (assignment_expression "uVar5 = gettext()" (identifier "uVar5") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar13;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar13" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -4)" (( "(") (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "ppuVar10 = (uint **)((int)ppiVar9 + -8);" (assignment_expression "ppuVar10 = (uint **)((int)ppiVar9 + -8)" (identifier "ppuVar10") (= "=") (cast_expression "(uint **)((int)ppiVar9 + -8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -8)" (( "(") (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "*(uint *)((int)ppiVar9 + -8) = local_d8;" (assignment_expression "*(uint *)((int)ppiVar9 + -8) = local_d8" (pointer_expression "*(uint *)((int)ppiVar9 + -8)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -8)" (( "(") (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_d8")) (; ";")) (labeled_statement "LAB_000cd301:\n  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;" (statement_identifier "LAB_000cd301") (: ":") (expression_statement "*(undefined4 *)((int)ppuVar10 + -4) = uVar5;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -4) = uVar5" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar10 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar10 + -4)" (( "(") (binary_expression "(int)ppuVar10 + -4" (cast_expression "(int)ppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar10")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar5")) (; ";"))) (expression_statement "*(int **)((int)ppuVar10 + -8) = param_1;" (assignment_expression "*(int **)((int)ppuVar10 + -8) = param_1" (pointer_expression "*(int **)((int)ppuVar10 + -8)" (* "*") (cast_expression "(int **)((int)ppuVar10 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar10 + -8)" (( "(") (binary_expression "(int)ppuVar10 + -8" (cast_expression "(int)ppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar10")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;" (assignment_expression "*(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a" (pointer_expression "*(undefined4 *)((int)ppuVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar10 + -0xc)" (( "(") (binary_expression "(int)ppuVar10 + -0xc" (cast_expression "(int)ppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar10")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcd30a")) (; ";")) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" (identifier "FUN_000beb20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return '\0';" (return "return") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool include_section_group(Sized_relobj_file<32,_false> * this,
   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *
   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)
    */

bool __thiscall
gold::var_10<32,var_11>::include_section_group
          (var_10<32,var_11> *this,Symbol_table *symtab,Layout *layout,type_2 var_16,
          char *name,type_5 *var_15,char *var_37,type_9 var_35,
          vector<bool,_std::var_1<bool>var_3> *omit)

{
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::var_1<char>var_3>var_4
  *var_58;
  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;
  int var_49;
  type_1 *var_17;
  type_2 var_41;
  type_3 *var_26;
  _Rb_tree<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>,_std::_Select1st<var_51::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>var_3>,_std::less<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::var_1<var_51::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::Kept_section::var_6>var_3>var_3>
  *this_00;
  type_4 EVar6;
  type_2 *puVar7;
  Elf_file<32,var_11,_gold::var_7> *this_01;
  type_5 *var_23;
  type_2 *puVar9;
  char *pcVar10;
  type_6 *var_38;
  type_2 var_20;
  type_2 var_25;
  type_2 var_46;
  type_7 start;
  var_7 *in_stack_ffffff04;
  vector<var_8,_std::var_1<var_8>var_3> *this_03;
  bool var_54;
  char var_50;
  char var_47;
  type_2 var_42;
  type_8 shdr;
  type_9 var_31;
  type_10 *kept_section;
  type_4 var_48;
  vector<var_8,_std::var_1<var_8>var_3> var_9;
  type_11 signature;
  type_11 mname;
  pair<var_8,_gold::var_10<32,var_11>::var_12> var_13;
  type_12 var_55;
  
  shdr.p_ = (var_14<32> *var_53)(var_15 + var_16 * 0x28);
  var_17 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.input_file_;
  if (var_17 == (type_1 *)0x0) {
LAB_000cd7c6:
                    /* WARNING: Subroutine does not return */
    Object::var_18(in_stack_ffffff04);
  }
  puVar7 = (type_2 *)File_read::var_19(&var_17->file_,
                                       (this->super_Sized_relobj<32,var_11>).super_Relobj.
                                       super_Object.offset_,(ulonglong)(shdr.p_)->sh_offset,
                                       (shdr.p_)->sh_size,true,false);
  var_41 = *puVar7;
  var_20 = (shdr.p_)->sh_link;
  this_01 = &this->elf_file_;
  if (0xfeff < var_20) {
    elfcpp::Elf_file<32,var_11,_gold::var_7>::var_21(this_01);
    var_20 = var_20 + (this->elf_file_).large_shndx_offset_;
  }
  start = elfcpp::Elf_file<32,var_11,_gold::var_7>::var_22(this_01,var_20);
  var_17 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.input_file_;
  if (var_17 == (type_1 *)0x0) goto LAB_000cd7c6;
  var_23 = File_read::var_19(&var_17->file_,
                               (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.
                               offset_,start,0x28,true,true);
  var_20 = (shdr.p_)->sh_info;
  if (*(type_2 *)(var_23 + 0x14) >> 4 <= var_20) {
    pcVar10 = (char *)var_24();
    goto LAB_000cd301;
  }
  var_17 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.input_file_;
  if (var_17 == (type_1 *)0x0) goto LAB_000cd7c6;
  puVar9 = (type_2 *)File_read::var_19(&var_17->file_,
                                       (this->super_Sized_relobj<32,var_11>).super_Relobj.
                                       super_Object.offset_,
                                       (ulonglong)(var_20 * 0x10 + *(int *)(var_23 + 0x10)),0x10,
                                       true,false);
  var_25 = *(type_2 *)(var_23 + 0x18);
  if (0xfeff < var_25) {
    elfcpp::Elf_file<32,var_11,_gold::var_7>::var_21(this_01);
    var_25 = var_25 + (this->elf_file_).large_shndx_offset_;
  }
  var_26 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object._vptr_Object[0xe];
  if (var_26 == var_27) {
    elfcpp::Elf_file<32,var_11,_gold::var_7>::var_28(this_01,var_25);
    if (var_55.data_size._4_4_ != 0) {
                    /* WARNING: Subroutine does not return */
      var_29("../../gold/gold.h",0xc0,"convert_types");
    }
    if ((type_9)var_55.data_size == 0) {
      var_25 = *puVar9;
    }
    else {
      var_17 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.input_file_;
      if (var_17 == (type_1 *)0x0) goto LAB_000cd7c6;
      var_23 = File_read::var_19(&var_17->file_,
                                   (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.
                                   offset_,var_30(var_55.file_offset._4_4_,(type_7 *)var_55.file_offset),
                                   (type_9)var_55.data_size,true,true);
      var_25 = *puVar9;
      if (var_25 < (type_9)var_55.data_size) goto LAB_000cd02a;
    }
  }
  else {
    var_23 = (type_5 *)(*var_26)();
    var_25 = *puVar9;
    if (var_25 < var_31) {
LAB_000cd02a:
      var_58 = &signature.field_2;
      signature._M_dataplus._M_p = (type_13)var_58;
      if (var_23 + var_25 != (type_5 *)0x0) {
        var_32((char *)(var_23 + var_25));
      }
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_33<var_34*>();
      if ((*signature._M_dataplus._M_p == '\0') && ((puVar9[3] & 0xf) == 3)) {
        var_25 = (type_2)*(type_14 *)((int)puVar9 + 0xe);
        if (var_25 < 0xff00) {
LAB_000cd408:
          if (var_25 < (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.shnum_) {
            if (*(type_2 *)(var_15 + var_25 * 0x28) < var_35) {
              std::string::var_36((type_11 *)&signature,
                                  var_37 + *(type_2 *)(var_15 + var_25 * 0x28));
            }
            goto LAB_000cd084;
          }
        }
        else if (var_25 == 0xffff) {
          var_38 = (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.xindex_;
          if (var_38 == (type_6 *)0x0) {
                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */
            var_38 = (type_6 *)
                      (*(this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object._vptr_Object
                        [0x1b])();
            (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.xindex_ = var_38;
          }
          var_25 = type_6::var_39(var_38,(var_7 *)this,var_20);
          goto LAB_000cd408;
        }
        pcVar10 = (char *)var_24();
                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */
        Object::var_40((var_7 *)this,pcVar10,var_20,var_25);
        var_50 = '\0';
        goto LAB_000cd55f;
      }
LAB_000cd084:
      kept_section = (type_10 *)0x0;
      if ((var_41 & 1) == 0) {
        var_42 = (shdr.p_)->sh_size;
        var_54 = false;
LAB_000cd0d2:
        var_42 = var_42 >> 2;
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
        _M_end_of_storage = (type_13)0x0;
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl._M_finish =
             (type_13)0x0;
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl._M_start =
             (type_13)0x0;
        if (parameters->options_ == (type_15 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */
          var_29("../../gold/parameters.h",0x5c,"options");
        }
        var_47 = (parameters->options_->relocatable_).value;
        if ((bool)var_47 != false) {
                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */
          std::vector<var_8,_std::var_1<var_8>var_3>::var_43(&var_9,var_42 - 1);
          var_50 = var_47;
          if (1 < var_42) goto LAB_000cd114;
          goto LAB_000cd50f;
        }
        var_50 = '\x01';
        if (1 < var_42) goto LAB_000cd114;
      }
      else {
                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */
        var_54 = Layout::var_44
                             (layout,&signature,(type_16 *)this,var_16,true,true,&kept_section);
        if (var_54) {
          if (layout->incremental_inputs_ != (type_17 *)0x0) {
            Incremental_inputs::var_45
                      (layout->incremental_inputs_,(var_7 *)this,signature._M_dataplus._M_p);
          }
          var_42 = (shdr.p_)->sh_size;
          goto LAB_000cd0d2;
        }
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl._M_start =
             (type_13)0x0;
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl._M_finish =
             (type_13)0x0;
        var_50 = '\0';
        var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
        _M_end_of_storage = (type_13)0x0;
        var_42 = (shdr.p_)->sh_size >> 2;
        if (var_42 < 2) goto LAB_000cd55f;
        var_47 = '\0';
        var_54 = true;
LAB_000cd114:
        var_25 = 1;
        this_03 = &var_9;
        do {
          var_46 = puVar7[var_25];
          if (var_46 < 0xff00) {
            var_48 = var_46;
            if (var_47 != '\0') goto LAB_000cd246;
LAB_000cd153:
            if ((this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.shnum_ <= var_48)
            goto LAB_000cd275;
LAB_000cd15f:
            EVar6 = var_48;
            if (var_48 < var_16) {
              pcVar10 = (char *)var_24();
                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */
              Object::var_40((var_7 *)this,pcVar10,var_16,EVar6);
            }
            var_49 = var_48 * 0x28;
            var_46 = *(type_2 *)(var_15 + var_49);
            if (var_46 < var_35) {
              var_5 = &mname.field_2;
              mname._M_dataplus._M_p = (type_13)var_5;
              if (var_37 + var_46 != (char *)0x0) {
                var_32(var_37 + var_46);
              }
                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */
              std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
              var_33<var_34*>();
              if (var_50 == '\0') {
                puVar9 = (omit->super__Bvector_base<var_51::var_1<var_52>var_3>var_53)._M_impl.
                         super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p +
                         (var_48 >> 5);
                *puVar9 = *puVar9 | 1 << ((type_18)var_48 & 0x1f);
                if ((var_54 != false) && ((var_42 == 2 || (kept_section->is_comdat_ != false))))
                {
                  var_13.second.sh_size._0_4_ = *(type_2 *)((int)(var_15 + var_49) + 0x14);
                  var_13.first = var_48;
                  var_13.second.kept_section = kept_section;
                  var_13.second.sh_size._4_4_ = 0;
                  var_13.second.is_comdat = true;
                  var_13.second.symndx = var_20;
                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */
                  var_51::
                  _Rb_tree<var_8,_std::pair<unsigned_int_const,_gold::var_10<32,var_11>::var_12>,_std::_Select1st<var_51::pair<unsigned_int_const,_gold::var_10<32,var_11>::var_12>var_3>,_std::less<var_8>,_std::var_1<var_51::pair<unsigned_int_const,_gold::var_10<32,var_11>::var_12>var_3>var_3>
                  ::
                  _M_emplace_unique<var_51::pair<var_8,_gold::var_10<32,var_11>::var_12>var_3>
                            (&(this->kept_comdat_sections_)._M_t,&var_13);
                }
              }
              else if (var_54 != false) {
                if (kept_section->is_comdat_ == false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */
                  var_29("../../gold/layout.h",0x135,"add_comdat_section");
                }
                this_00 = &((kept_section->u_).group_sections)->_M_t;
                var_55.file_offset._0_4_ = &var_55.data_size;
                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */
                std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
                var_33<var_2*>();
                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */
                var_51::
                _Rb_tree<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>,_std::_Select1st<var_51::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>var_3>,_std::less<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::var_1<var_51::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>var_3>var_3>
                ::
                _M_emplace_unique<var_51::pair<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::Kept_section::var_6>var_3>
                          (this_00,(pair<var_51::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_10::var_6>
                                    *var_53)&var_55);
                if ((type_7 *)var_55.file_offset != &var_55.data_size) {
                  var_56((type_7 *)var_55.file_offset);
                }
              }
              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
                   *)mname._M_dataplus._M_p != var_5) {
                var_56(mname._M_dataplus._M_p);
              }
            }
          }
          else {
            elfcpp::Elf_file<32,var_11,_gold::var_7>::var_21(this_01);
            var_46 = var_46 + (this->elf_file_).large_shndx_offset_;
            var_48 = var_46;
            if (var_47 == '\0') goto LAB_000cd153;
LAB_000cd246:
            var_48 = var_46;
            if (var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
                _M_finish ==
                var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
                _M_end_of_storage) {
                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */
              std::vector<var_8,_std::var_1<var_8>var_3>::
              _M_realloc_insert<unsigned_int_const&>
                        (this_03,(iterator)
                                 var_9.
                                 super__Vector_base<var_8,_std::var_1<var_8>var_3>.
                                 _M_impl._M_finish,&var_48);
              goto LAB_000cd153;
            }
            *var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
             _M_finish = var_46;
            var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl.
            _M_finish = var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>.
                        _M_impl._M_finish + 1;
            if (var_46 < (this->super_Sized_relobj<32,var_11>).super_Relobj.super_Object.shnum_)
            goto LAB_000cd15f;
LAB_000cd275:
            EVar6 = var_48;
            pcVar10 = (char *)var_24();
            Object::var_40((var_7 *)this,pcVar10,EVar6,var_16);
          }
          var_25 = var_25 + 1;
        } while (var_25 < var_42);
        if (var_47 != '\0') {
LAB_000cd50f:
                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */
          Layout::var_57<32,var_11>
                    (layout,symtab,this,var_16,name,signature._M_dataplus._M_p,&shdr,var_41,&var_9);
        }
      }
      if (var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>._M_impl._M_start
          != (type_13)0x0) {
        var_56(var_9.super__Vector_base<var_8,_std::var_1<var_8>var_3>.
                        _M_impl._M_start);
      }
LAB_000cd55f:
      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
           *)signature._M_dataplus._M_p == var_58) {
        return (bool)var_50;
      }
      var_56(signature._M_dataplus._M_p);
      return (bool)var_50;
    }
  }
  pcVar10 = (char *)var_24();
  var_16 = var_20;
  var_20 = var_25;
LAB_000cd301:
  Object::var_40((var_7 *)this,pcVar10,var_16,var_20);
  return false;
}


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

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

char MASKED(int *param_1,undefined4 param_2,int param_3,uint *param_4,undefined4 param_5,
                 int param_6,int param_7,uint param_8,int *param_9)

{
  code *pcVar1;
  int iVar2;
  uint *puVar3;
  size_t sVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 extraout_EDX;
  uint uVar7;
  undefined4 extraout_EDX_00;
  undefined4 extraout_EDX_01;
  undefined4 extraout_EDX_02;
  undefined1 *puVar8;
  int **ppiVar9;
  uint **ppuVar10;
  int **ppiVar11;
  int **ppiVar12;
  uint uVar13;
  uint *puVar14;
  undefined8 uVar15;
  uint *puStack_104;
  uint uStack_100;
  int *local_fc;
  uint **local_f8;
  undefined4 local_f4;
  uint *local_f0;
  char *local_ec;
  uint local_e8;
  uint local_e4;
  undefined4 local_e0;
  char local_d9;
  uint local_d8;
  undefined1 *local_d4;
  char local_ce;
  char local_cd;
  int *local_cc;
  uint *local_c8;
  uint local_c4;
  undefined **local_c0;
  undefined1 local_bc [8];
  undefined1 local_b4 [16];
  int local_a4;
  uint local_a0;
  int local_9c;
  uint *local_98;
  int local_94;
  undefined4 *local_90;
  undefined4 *local_8c;
  char *local_88 [2];
  char local_80 [16];
  undefined1 *local_70;
  int local_6c;
  undefined1 local_68 [16];
  uint *local_58;
  uint local_54;
  undefined4 local_50;
  int local_4c;
  uint local_48;
  undefined1 local_44;
  uint *local_40;
  undefined4 local_3c;
  uint local_38;
  int local_34;
  uint *local_28;
  uint local_24;
  undefined4 local_20;
  
  local_c0 = &__DT_PLTGOT;
  local_a4 = param_6 + (int)param_4 * 0x28;
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) {
LAB_000cd7c6:
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppiVar12 + -4) = 0xcd7cb;
    FUN_000be960();
  }
  uStack_100 = 0;
  puStack_104 = (uint *)0x1;
  local_c8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                  *(undefined4 *)(local_a4 + 0x10),0,
                                  *(undefined4 *)(local_a4 + 0x14));
  local_e8 = *local_c8;
  uVar13 = *(uint *)(local_a4 + 0x18);
  local_cc = param_1 + 0x24;
  if (0xfeff < uVar13) {
    FUN_000c47d0(local_cc);
    uVar13 = uVar13 + param_1[0x29];
  }
  ppiVar11 = &local_fc;
  ppiVar9 = &local_fc;
  uVar15 = FUN_000c52b0(local_cc,uVar13);
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) goto LAB_000cd7c6;
  uStack_100 = 1;
  puStack_104 = (uint *)0x1;
  iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar15,0x28);
  local_d8 = *(uint *)(local_a4 + 0x1c);
  if (*(uint *)(iVar2 + 0x14) >> 4 <= local_d8) {
    uVar5 = gettext(local_c0 + -0x3a03f);
    uStack_100 = local_d8;
    puStack_104 = param_4;
    ppuVar10 = &puStack_104;
    goto LAB_000cd301;
  }
  ppiVar12 = &local_fc;
  if (param_1[7] == 0) goto LAB_000cd7c6;
  uStack_100 = 0;
  puStack_104 = (uint *)0x1;
  puVar3 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                local_d8 * 0x10 + *(int *)(iVar2 + 0x10),0,0x10);
  puVar14 = *(uint **)(iVar2 + 0x18);
  if ((uint *)0xfeff < puVar14) {
    FUN_000c47d0(local_cc);
    puVar14 = (uint *)((int)puVar14 + param_1[0x29]);
  }
  if (*(undefined ***)(*param_1 + 0x38) == local_c0 + -0x9e6ac) {
    puStack_104 = puVar14;
    FUN_000c5480(&local_40,local_cc);
    ppiVar12 = (int **)&uStack_100;
    ppiVar9 = (int **)&uStack_100;
    if (local_34 != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620(local_c0 + -0x3ced3,0xc0,local_c0 + -0x39e56);
    }
    local_a0 = local_38;
    if (local_38 == 0) {
      uVar13 = *puVar3;
    }
    else {
      if (param_1[7] == 0) goto LAB_000cd7c6;
      puStack_104 = (uint *)0x1;
      iVar2 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],local_40,local_3c,local_38,1);
      uVar13 = *puVar3;
      ppiVar9 = (int **)&uStack_100;
      ppiVar11 = (int **)&uStack_100;
      if (uVar13 < local_a0) goto LAB_000cd02a;
    }
  }
  else {
    puStack_104 = &local_a0;
    uStack_100 = 1;
    iVar2 = (*(code *)*(undefined ***)(*param_1 + 0x38))(param_1,puVar14);
    uVar13 = *puVar3;
    if (uVar13 < local_a0) {
LAB_000cd02a:
      local_ec = local_80;
      iVar6 = -1;
      iVar2 = uVar13 + iVar2;
      local_88[0] = local_ec;
      if (iVar2 != 0) {
        *(int *)((int)ppiVar11 + -0x10) = iVar2;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd051;
        sVar4 = strlen(*(char **)((int)ppiVar11 + -0x10));
        iVar6 = iVar2 + sVar4;
      }
      *(undefined4 *)((int)ppiVar11 + -4) = 0;
      *(int *)((int)ppiVar11 + -8) = iVar6;
      *(int *)((int)ppiVar11 + -0xc) = iVar2;
      *(char ***)((int)ppiVar11 + -0x10) = local_88;
      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd067;
      FUN_00056c80();
      uVar5 = extraout_EDX;
      if ((*local_88[0] == '\0') && ((puVar3[3] & 0xf) == 3)) {
        uVar13 = (uint)*(ushort *)((int)puVar3 + 0xe);
        uVar15 = CONCAT44(extraout_EDX,uVar13);
        if (uVar13 < 0xff00) {
LAB_000cd408:
          uVar5 = (undefined4)((ulonglong)uVar15 >> 0x20);
          uVar13 = (uint)uVar15;
          if (uVar13 < (uint)param_1[10]) {
            uVar13 = *(uint *)(param_6 + uVar13 * 0x28);
            if (uVar13 < param_8) {
              *(uint *)((int)ppiVar11 + -0xc) = uVar13 + param_7;
              *(char ***)((int)ppiVar11 + -0x10) = local_88;
              *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd435;
              FUN_001b54d0();
              uVar5 = extraout_EDX_00;
            }
            goto LAB_000cd084;
          }
        }
        else if (uVar13 == 0xffff) {
          iVar2 = param_1[0xc];
          if (iVar2 == 0) {
            iVar2 = *param_1;
            *(int **)((int)ppiVar11 + -0x10) = param_1;
                    /* try { // try from 000cd7b5 to 000cd7b7 has its CatchHandler @ 000cd8ae */
            pcVar1 = *(code **)(iVar2 + 0x6c);
            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd7b8;
            iVar2 = (*pcVar1)();
            param_1[0xc] = iVar2;
          }
          *(uint *)((int)ppiVar11 + -8) = local_d8;
          *(int **)((int)ppiVar11 + -0xc) = param_1;
          *(int *)((int)ppiVar11 + -0x10) = iVar2;
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd403;
          uVar15 = FUN_000beba0();
          goto LAB_000cd408;
        }
        *(undefined ***)((int)ppiVar11 + -0x10) = local_c0 + -0x3a02b;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3c1;
        uVar5 = gettext();
        *(uint *)((int)ppiVar11 + -4) = uVar13;
        *(uint *)((int)ppiVar11 + -8) = local_d8;
        *(undefined4 *)((int)ppiVar11 + -0xc) = uVar5;
        *(int **)((int)ppiVar11 + -0x10) = param_1;
                    /* try { // try from 000cd3cf to 000cd434 has its CatchHandler @ 000cd8ae */
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd3d4;
        FUN_000beb20();
        local_ce = '\0';
        goto LAB_000cd55f;
      }
LAB_000cd084:
      local_9c = 0;
      if ((local_e8 & 1) == 0) {
        local_c4 = *(uint *)(local_a4 + 0x14);
        local_d9 = '\0';
LAB_000cd0d2:
        local_c4 = local_c4 >> 2;
        uVar13 = local_c4;
        local_8c = (undefined4 *)0x0;
        local_90 = (undefined4 *)0x0;
        local_94 = 0;
        if (*(int *)(local_c0[0xbc] + 8) == 0) {
          *(undefined4 *)((int)ppiVar11 + -4) = uVar5;
          *(undefined ***)((int)ppiVar11 + -8) = local_c0 + -0x39d39;
          *(undefined4 *)((int)ppiVar11 + -0xc) = 0x5c;
          *(int *)((int)ppiVar11 + -0x10) = (int)local_c0 + -0xf8d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd801 to 000cd805 has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd806;
          FUN_0008b620();
        }
        local_cd = *(char *)(*(int *)(local_c0[0xbc] + 8) + 0x318d);
        if (local_cd != '\0') {
          *(uint *)((int)ppiVar11 + -0xc) = local_c4 - 1;
          *(int **)((int)ppiVar11 + -0x10) = &local_94;
                    /* try { // try from 000cd734 to 000cd738 has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd739;
          FUN_000c45a0();
          local_ce = local_cd;
          if (1 < uVar13) goto LAB_000cd114;
          goto LAB_000cd50f;
        }
        local_ce = '\x01';
        if (1 < local_c4) goto LAB_000cd114;
      }
      else {
        *(int **)((int)ppiVar11 + -8) = &local_9c;
        *(undefined4 *)((int)ppiVar11 + -0xc) = 1;
        *(undefined4 *)((int)ppiVar11 + -0x10) = 1;
        *(uint **)((int)ppiVar11 + -0x14) = param_4;
        *(int **)((int)ppiVar11 + -0x18) = param_1;
        *(char ***)((int)ppiVar11 + -0x1c) = local_88;
        *(int *)((int)ppiVar11 + -0x20) = param_3;
                    /* try { // try from 000cd688 to 000cd6bc has its CatchHandler @ 000cd8ae */
        *(undefined4 *)((int)ppiVar11 + -0x24) = 0xcd68d;
        local_d9 = FUN_000b0300();
        if (local_d9 != '\0') {
          iVar2 = *(int *)(param_3 + 0x1d0);
          uVar5 = extraout_EDX_01;
          if (iVar2 != 0) {
            *(char **)((int)ppiVar11 + -8) = local_88[0];
            *(int **)((int)ppiVar11 + -0xc) = param_1;
            *(int *)((int)ppiVar11 + -0x10) = iVar2;
            *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd6bd;
            FUN_00093370();
            uVar5 = extraout_EDX_02;
          }
          local_c4 = *(uint *)(local_a4 + 0x14);
          goto LAB_000cd0d2;
        }
        local_94 = 0;
        local_90 = (undefined4 *)0x0;
        local_ce = '\0';
        local_8c = (undefined4 *)0x0;
        local_c4 = *(uint *)(local_a4 + 0x14) >> 2;
        if (local_c4 < 2) goto LAB_000cd55f;
        local_cd = '\0';
        local_d9 = '\x01';
LAB_000cd114:
        local_f8 = &local_98;
        uVar13 = 1;
        local_fc = &local_94;
        puVar8 = (undefined1 *)ppiVar11;
        do {
          puVar14 = (uint *)local_c8[uVar13];
          ppiVar11 = (int **)puVar8;
          if (puVar14 < (uint *)0xff00) {
            local_98 = puVar14;
            if (local_cd != '\0') goto LAB_000cd246;
LAB_000cd153:
            if ((uint *)param_1[10] <= local_98) goto LAB_000cd275;
LAB_000cd15f:
            puVar14 = local_98;
            if (local_98 < param_4) {
              *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a017;
              *(undefined4 *)(puVar8 + -0x14) = 0xcd455;
              uVar5 = gettext();
              *(uint **)(puVar8 + -4) = puVar14;
              *(uint **)(puVar8 + -8) = param_4;
              *(undefined4 *)(puVar8 + -0xc) = uVar5;
              *(int **)(puVar8 + -0x10) = param_1;
                    /* try { // try from 000cd460 to 000cd464 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd465;
              FUN_000beb20();
            }
            puVar14 = (uint *)(param_6 + (int)local_98 * 0x28);
            if (*puVar14 < param_8) {
              local_d4 = local_68;
              local_70 = local_d4;
              iVar2 = -1;
              uVar7 = *puVar14 + param_7;
              if (uVar7 != 0) {
                *(uint *)(puVar8 + -0x10) = uVar7;
                *(undefined4 *)(puVar8 + -0x14) = 0xcd1a3;
                local_e4 = uVar7;
                sVar4 = strlen(*(char **)(puVar8 + -0x10));
                iVar2 = sVar4 + local_e4;
                uVar7 = local_e4;
              }
              *(undefined4 *)(puVar8 + -4) = 0;
              *(int *)(puVar8 + -8) = iVar2;
              *(uint *)(puVar8 + -0xc) = uVar7;
              *(undefined1 ***)(puVar8 + -0x10) = &local_70;
                    /* try { // try from 000cd1b6 to 000cd299 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd1bb;
              FUN_00056c80();
              if (local_ce == '\0') {
                puVar3 = (uint *)(*param_9 + ((uint)local_98 >> 5) * 4);
                *puVar3 = *puVar3 | 1 << ((byte)local_98 & 0x1f);
                if ((local_d9 != '\0') && ((local_c4 == 2 || (*(char *)(local_9c + 8) != '\0')))) {
                  local_54 = puVar14[5];
                  local_58 = local_98;
                  local_4c = local_9c;
                  *(uint ***)(puVar8 + -8) = &local_58;
                  local_48 = local_d8;
                  *(int **)(puVar8 + -0xc) = param_1 + 0x41;
                  *(undefined1 **)(puVar8 + -0x10) = local_bc;
                  local_50 = 0;
                  local_44 = 1;
                    /* try { // try from 000cd4f0 to 000cd4f4 has its CatchHandler @ 000cd829 */
                  *(undefined4 *)(puVar8 + -0x14) = 0xcd4f5;
                  FUN_000c7070();
                  ppiVar11 = (int **)(puVar8 + -4);
                }
              }
              else if (local_d9 != '\0') {
                local_e4 = puVar14[5];
                local_e0 = 0;
                local_f0 = local_98;
                if (*(char *)(local_9c + 8) == '\0') {
                  *(int *)(puVar8 + -4) = local_9c;
                  *(undefined ***)(puVar8 + -8) = local_c0 + -0x39e6b;
                  *(undefined4 *)(puVar8 + -0xc) = 0x135;
                  *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3ad16;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000cd820 to 000cd824 has its CatchHandler @ 000cd829 */
                  *(undefined1 **)(puVar8 + -0x14) = &LAB_000cd825;
                  FUN_0008b620();
                }
                local_f4 = *(undefined4 *)(local_9c + 0xc);
                *(undefined4 *)(puVar8 + -4) = 0;
                *(undefined1 **)(puVar8 + -8) = local_70 + local_6c;
                *(undefined1 **)(puVar8 + -0xc) = local_70;
                *(uint ***)(puVar8 + -0x10) = &local_40;
                    /* try { // try from 000cd5e4 to 000cd5e8 has its CatchHandler @ 000cd829 */
                *(undefined4 *)(puVar8 + -0x14) = 0xcd5e9;
                local_40 = &local_38;
                FUN_0007c4c0();
                *(uint ***)(puVar8 + -8) = &local_40;
                local_24 = local_e4;
                *(undefined4 *)(puVar8 + -0xc) = local_f4;
                *(undefined1 **)(puVar8 + -0x10) = local_b4;
                local_28 = local_f0;
                local_20 = local_e0;
                    /* try { // try from 000cd615 to 000cd619 has its CatchHandler @ 000cd8b2 */
                *(undefined4 *)(puVar8 + -0x14) = 0xcd61a;
                FUN_000c4080();
                ppiVar11 = (int **)(puVar8 + -4);
                if (local_40 != &local_38) {
                  *(uint **)(puVar8 + -0x14) = local_40;
                  *(undefined4 *)(puVar8 + -0x18) = 0xcd637;
                  FUN_001ac470();
                  ppiVar11 = (int **)(puVar8 + -4);
                }
              }
              if (local_70 != local_d4) {
                *(undefined1 **)((int)ppiVar11 + -0x10) = local_70;
                *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd1f2;
                FUN_001ac470();
              }
            }
          }
          else {
            *(int **)(puVar8 + -0x10) = local_cc;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd227;
            FUN_000c47d0();
            puVar14 = (uint *)((int)puVar14 + param_1[0x29]);
            local_98 = puVar14;
            if (local_cd == '\0') goto LAB_000cd153;
LAB_000cd246:
            local_98 = puVar14;
            if (local_90 == local_8c) {
              *(uint ***)(puVar8 + -8) = local_f8;
              *(undefined4 **)(puVar8 + -0xc) = local_90;
              *(int **)(puVar8 + -0x10) = local_fc;
                    /* try { // try from 000cd650 to 000cd654 has its CatchHandler @ 000cd825 */
              *(undefined4 *)(puVar8 + -0x14) = 0xcd655;
              FUN_0009acc0();
              goto LAB_000cd153;
            }
            *local_90 = puVar14;
            local_90 = local_90 + 1;
            if (puVar14 < (uint *)param_1[10]) goto LAB_000cd15f;
LAB_000cd275:
            puVar14 = local_98;
            *(undefined ***)(puVar8 + -0x10) = local_c0 + -0x3a022;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd28a;
            uVar5 = gettext();
            *(uint **)(puVar8 + -4) = param_4;
            *(uint **)(puVar8 + -8) = puVar14;
            *(undefined4 *)(puVar8 + -0xc) = uVar5;
            *(int **)(puVar8 + -0x10) = param_1;
            *(undefined4 *)(puVar8 + -0x14) = 0xcd29a;
            FUN_000beb20();
          }
          uVar13 = uVar13 + 1;
          puVar8 = (undefined1 *)ppiVar11;
        } while (uVar13 < local_c4);
        if (local_cd != '\0') {
LAB_000cd50f:
          *(int **)((int)ppiVar11 + -0x10) = &local_94;
          *(uint *)((int)ppiVar11 + -0x14) = local_e8;
          *(int **)((int)ppiVar11 + -0x18) = &local_a4;
          *(char **)((int)ppiVar11 + -0x1c) = local_88[0];
          *(undefined4 *)((int)ppiVar11 + -0x20) = param_5;
          *(uint **)((int)ppiVar11 + -0x24) = param_4;
          *(int **)((int)ppiVar11 + -0x28) = param_1;
          *(undefined4 *)((int)ppiVar11 + -0x2c) = param_2;
          *(int *)((int)ppiVar11 + -0x30) = param_3;
                    /* try { // try from 000cd53b to 000cd53f has its CatchHandler @ 000cd825 */
          *(undefined4 *)((int)ppiVar11 + -0x34) = 0xcd540;
          FUN_000b9ec0();
        }
      }
      if (local_94 != 0) {
        *(int *)((int)ppiVar11 + -0x10) = local_94;
        *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd55c;
        FUN_001ac470();
      }
LAB_000cd55f:
      if (local_88[0] == local_ec) {
        return local_ce;
      }
      *(char **)((int)ppiVar11 + -0x10) = local_88[0];
      *(undefined4 *)((int)ppiVar11 + -0x14) = 0xcd580;
      FUN_001ac470();
      return local_ce;
    }
  }
  *(undefined ***)((int)ppiVar9 + -0x10) = local_c0 + -0x3a035;
  *(undefined4 *)((int)ppiVar9 + -0x14) = 0xcd2f7;
  uVar5 = gettext();
  *(uint *)((int)ppiVar9 + -4) = uVar13;
  ppuVar10 = (uint **)((int)ppiVar9 + -8);
  *(uint *)((int)ppiVar9 + -8) = local_d8;
LAB_000cd301:
  *(undefined4 *)((int)ppuVar10 + -4) = uVar5;
  *(int **)((int)ppuVar10 + -8) = param_1;
  *(undefined4 *)((int)ppuVar10 + -0xc) = 0xcd30a;
  FUN_000beb20();
  return '\0';
}

