
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: add_input_section<32, false>
   DWARF original prototype: off_t add_input_section<32,_false>(Output_section * this, Layout *
   layout, Sized_relobj_file<32,_false> * object, uint shndx, char * secname, Shdr<32,_false> *
   shdr, uint reloc_shndx, bool have_sections_script) */

off_t __thiscall
gold::Output_section::add_input_section<32,_false>
          (Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,
          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  Compressed_section_map *pCVar3;
  _Base_ptr p_Var4;
  Output_section *pOVar5;
  anon_union_8_2_227b06d7_for_u1_ *paVar6;
  Parameters *pPVar7;
  Target *pTVar8;
  _func_int_varargs *p_Var9;
  uint uVar10;
  uint uVar11;
  undefined1 keeps_input_sections;
  char cVar12;
  Output_section *pOVar13;
  size_t sVar14;
  uint uVar15;
  char *pcVar16;
  char *format;
  anon_union_4_4_139239c7_for_u2_ this_00;
  anon_union_8_2_227b06d7_for_u1_ *paVar17;
  _Base_ptr p_Var18;
  _Base_ptr p_Var19;
  int iVar20;
  anon_union_8_2_227b06d7_for_u1_ *paVar21;
  undefined4 extraout_ECX;
  Shdr_data<32> *pSVar22;
  pointer pIVar23;
  Output_section **ppOVar24;
  undefined4 *puVar25;
  byte *pbVar26;
  byte *pbVar27;
  bool bVar28;
  bool bVar29;
  byte bVar30;
  off_t oVar31;
  Output_section *pOStack_a0;
  Output_section *in_stack_ffffff64;
  undefined4 in_stack_ffffff68;
  undefined4 in_stack_ffffff6c;
  Parameters **ppPVar32;
  uint local_84;
  uint local_7c;
  anon_union_8_2_227b06d7_for_u1_ *local_74;
  undefined **local_68;
  uint local_64;
  uint local_60;
  size_type __dnew;
  string fill_data;
  Input_section local_34;
  
  bVar30 = 0;
  local_60 = 0;
  pSVar22 = shdr->p_;
  local_7c = pSVar22->sh_size;
  local_64 = pSVar22->sh_addralign;
  pCVar3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_;
  if (pCVar3 != (Compressed_section_map *)0x0) {
    p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header;
    p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
    p_Var18 = &p_Var1->_M_header;
    if (p_Var4 != (_Base_ptr)0x0) {
      do {
        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {
          pp_Var2 = &p_Var19->_M_right;
          p_Var4 = *pp_Var2;
          p_Var19 = p_Var18;
          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;
        }
        p_Var4 = p_Var19->_M_left;
        p_Var18 = p_Var19;
      } while (p_Var19->_M_left != (_Base_ptr)0x0);
LAB_002f96c8:
      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&
         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {
        local_7c = *(uint *)((int)p_Var19 + 0x14);
        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);
        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);
      }
    }
  }
  if (((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0 || (local_64 & local_64 - 1) != 0) {
    pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"");
    pOStack_a0 = (Output_section *)secname;
    Object::error((Object *)object,pcVar16,local_64);
    local_64 = 1;
    local_60 = 0;
    pSVar22 = shdr->p_;
  }
  local_68 = &_GLOBAL_OFFSET_TABLE_;
  ppOVar24 = (Output_section **)&stack0xffffff64;
  puVar25 = (undefined4 *)&stack0xffffff64;
  uVar15 = *(uint *)((int)&this->addralign_ + 4);
  uVar10 = (uint)((uint)this->addralign_ < local_64);
  uVar11 = uVar15 - local_60;
  bVar28 = uVar15 < local_60 || uVar11 < uVar10;
  bVar29 = uVar11 == uVar10;
  if (uVar15 < local_60 || uVar11 < uVar10) {
    *(uint *)&this->addralign_ = local_64;
    *(uint *)((int)&this->addralign_ + 4) = local_60;
  }
  local_74 = (anon_union_8_2_227b06d7_for_u1_ *)pSVar22->sh_flags;
  iVar20 = 0xb;
  local_84 = pSVar22->sh_entsize;
  pbVar26 = (byte *)secname;
  pbVar27 = (byte *)".debug_str";
  do {
    if (iVar20 == 0) break;
    iVar20 = iVar20 + -1;
    bVar28 = *pbVar26 < *pbVar27;
    bVar29 = *pbVar26 == *pbVar27;
    pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
    pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1;
  } while (bVar29);
  if ((!bVar28 && !bVar29) == bVar28) {
    local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30);
    local_84 = 1;
  }
  update_flags_for_input_section(this,ZEXT48(local_74));
  if ((this->field_0x92 & 2) == 0) {
    pOStack_a0 = (Output_section *)0x2f9773;
    set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68));
  }
  if (((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)) && (shdr->p_->sh_size != 0)) {
    ppPVar32 = &parameters;
    bVar28 = Parameters::incremental(parameters);
    if (!bVar28) {
      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {
        keeps_input_sections = true;
      }
      else {
        pPVar7 = *ppPVar32;
        pTVar8 = pPVar7->target_;
        paVar21 = local_74;
        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;
        if ((pPVar7->options_ == (General_options *)0x0) ||
           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {
          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {
            pOStack_a0 = (Output_section *)0x2f9b16;
            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);
          }
          else {
            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);
            keeps_input_sections = (undefined1)iVar20;
          }
        }
      }
      bVar28 = add_merge_input_section
                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,
                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);
      if (bVar28) {
        return -1;
      }
    }
  }
  bVar30 = this->field_0x92;
  if ((bVar30 & 0x20) != 0) {
    oVar31 = Free_list::allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0
                                );
    if (oVar31 != -1) {
      return oVar31;
    }
    pcVar16 = this->name_;
    format = (char *)gettext("out of patch space in section %s; relink with --incremental-full");
                    /* WARNING: Subroutine does not return */
    gold_fallback(format,pcVar16);
  }
  pOVar5 = *(Output_section **)((int)&(this->super_Output_data).data_size_ + 4);
  paVar6 = *(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_;
  paVar21 = paVar6;
  pOVar13 = pOVar5;
  if (local_60 != 0 || local_64 != 0) {
    paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)
              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64);
    pOVar13 = (Output_section *)
              ((int)pOVar5 +
               (uint)CARRY4((int)paVar6 - 1U,local_64) +
               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &
              -(local_60 + (local_64 != 0)));
  }
  if (((this->super_Output_data).field_0x1c & 2) != 0) {
    pOStack_a0 = this;
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(uint *)&(this->super_Output_data).data_size_ = local_7c + (int)paVar21;
  *(uint *)((int)&(this->super_Output_data).data_size_ + 4) =
       (int)&(pOVar13->super_Output_data)._vptr_Output_data + (uint)CARRY4(local_7c,(uint)paVar21);
  if (((bVar30 & 1) != 0) || (have_sections_script)) {
LAB_002f9834:
    if (((SBORROW4((int)pOVar5,(int)pOVar13) !=
         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==
         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))
    goto LAB_002f9852;
    if (!have_sections_script) {
      ppOVar24 = (Output_section **)&stack0xffffff64;
      if (((uint)local_74 & 4) != 0) {
LAB_002f9bab:
        pTVar8 = parameters->target_;
        puVar25 = (undefined4 *)&stack0xffffff64;
        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;
        ppOVar24 = (Output_section **)&stack0xffffff64;
        if (pTVar8->pti_->has_code_fill != false) {
          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;
          if ((this->input_sections_).
              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
              ._M_impl._M_finish ==
              (this->input_sections_).
              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
              ._M_impl._M_start) {
            local_34.shndx_ = (uint)paVar6;
            local_34.p2align_ = (uint)pOVar5;
            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {
              pOStack_a0 = pOVar5;
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
            }
            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::
            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);
            bVar30 = this->field_0x92;
            ppOVar24 = (Output_section **)&stack0xffffff64;
          }
          else {
            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);
                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */
            this_00.object = (Relobj *)operator_new(0x44);
                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */
            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);
            local_34.shndx_ = 0xffffffff;
            local_34.p2align_ = 0;
            local_34.section_order_index_ = 0;
            local_34.u1_.data_size._0_4_ = 0;
            local_34.u1_.data_size._4_4_ = 0;
            local_34.u2_.object = this_00.object;
                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */
            std::
            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {
              operator_delete(fill_data._M_dataplus._M_p);
            }
            bVar30 = this->field_0x92;
            ppOVar24 = &pOStack_a0;
          }
        }
      }
LAB_002f9c88:
      puVar25 = ppOVar24;
      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;
      goto LAB_002f9c92;
    }
  }
  else {
    if (((uint)local_74 & 4) == 0) {
      ppOVar24 = (Output_section **)&stack0xffffff64;
      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=
          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=
          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;
    }
    else {
      pTVar8 = parameters->target_;
      puVar25 = (undefined4 *)&stack0xffffff64;
      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;
      if (pTVar8->pti_->has_code_fill == false) {
        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=
            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=
            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;
      }
      else {
        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {
          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {
            pOStack_a0 = (Output_section *)0x2f9e18;
            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);
          }
          else {
            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);
            cVar12 = (char)iVar20;
          }
          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {
            bVar30 = this->field_0x92;
            goto LAB_002f9834;
          }
        }
        pOVar5 = (Output_section *)
                 (this->fills_).
                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>
                 ._M_impl._M_start;
        if ((Output_section *)
            (this->fills_).
            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>
            ._M_impl._M_finish != pOVar5) {
          pOStack_a0 = pOVar5;
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");
        }
        bVar30 = this->field_0x92;
        this->field_0x92 = bVar30 | 1;
      }
    }
LAB_002f9852:
    ppOVar24 = (Output_section **)&stack0xffffff64;
    if (((bVar30 & 0x10) == 0) &&
       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,
       !have_sections_script)) {
LAB_002f9c92:
      ppOVar24 = (Output_section **)puVar25;
      pIVar23 = (this->input_sections_).
                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
                ._M_impl._M_start;
      if (((this->input_sections_).
           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
           ._M_impl._M_finish == pIVar23) &&
         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {
        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;
        if ((parameters->options_->Map_).user_set_via_option == false) {
          pTVar8 = parameters->target_;
          puVar25 = ppOVar24;
          if (pTVar8 == (Target *)0x0) {
LAB_002f9f4f:
            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;
            *(char **)((int)puVar25 + -8) = "target";
            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;
            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;
            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          if ((parameters->debug_ & 8) == 0) {
            p_Var9 = pTVar8->_vptr_Target[0x1c];
            if (p_Var9 == Target::do_may_relax) {
              ppOVar24[-1] = (Output_section *)0x2f9d0b;
              cVar12 = Target::do_may_relax((Target *)*ppOVar24);
            }
            else {
              ppOVar24[-4] = (Output_section *)pTVar8;
              ppOVar24[-5] = (Output_section *)0x2f9ef6;
              iVar20 = (*p_Var9)();
              cVar12 = (char)iVar20;
            }
            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {
              return CONCAT44(pOVar13,paVar21);
            }
          }
        }
      }
    }
  }
LAB_002f9862:
  *(uint *)((int)ppOVar24 + -0xc) = local_60;
  *(uint *)((int)ppOVar24 + -0x10) = local_64;
  fill_data._M_dataplus._M_p = (pointer)shndx;
  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9879;
  fill_data._M_string_length = __ffsdi2();
  fill_data.field_2._12_4_ = 0;
  if (shndx + 4 < 4) {
    *(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX;
    *(char **)((int)ppOVar24 + -8) = "Input_section";
    *(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a;
    *(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;
    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),
                        *(char **)((int)ppOVar24 + -8));
  }
  fill_data.field_2._M_allocated_capacity = local_7c;
  fill_data.field_2._4_4_ = 0;
  fill_data.field_2._8_4_ = object;
  pIVar23 = (pointer)local_68;
  if (parameters->options_ == (General_options *)0x0) {
LAB_002f9f1a:
    *(pointer *)((int)ppOVar24 + -4) = pIVar23;
    *(char **)((int)ppOVar24 + -8) = "options";
    *(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c;
    *(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33;
    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),
                        *(char **)((int)ppOVar24 + -8));
  }
  if ((parameters->options_->section_ordering_file_).value == (char *)0x0) goto LAB_002f9954;
  *(char **)((int)ppOVar24 + -0x10) = secname;
  paVar6 = &local_34.u1_;
  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f98e5;
  local_34.shndx_ = (uint)paVar6;
  sVar14 = strlen(*(char **)((int)ppOVar24 + -0x10));
  __dnew = sVar14;
  if (sVar14 < 0x10) {
    paVar17 = paVar6;
    if (sVar14 == 1) {
      local_34.u1_.data_size._0_1_ = *secname;
    }
    else if (sVar14 != 0) goto LAB_002f9d83;
  }
  else {
    *(undefined4 *)((int)ppOVar24 + -8) = 0;
    *(size_type **)((int)ppOVar24 + -0xc) = &__dnew;
    *(Input_section **)((int)ppOVar24 + -0x10) = &local_34;
    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;
    local_34.shndx_ =
         std::string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));
    local_34.u1_.entsize._0_4_ = __dnew;
    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;
LAB_002f9d83:
    *(size_t *)((int)ppOVar24 + -8) = sVar14;
    *(char **)((int)ppOVar24 + -0xc) = secname;
    *(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;
    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;
    memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),
           *(size_t *)((int)ppOVar24 + -8));
    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;
  }
  *(undefined1 *)((int)paVar17 + __dnew) = 0;
  *(Input_section **)((int)ppOVar24 + -0xc) = &local_34;
  *(Layout **)((int)ppOVar24 + -0x10) = layout;
                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */
  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9923;
  local_34.p2align_ = __dnew;
  uVar15 = Layout::find_section_order_index
                     (*(Layout **)((int)ppOVar24 + -0x10),*(string **)((int)ppOVar24 + -0xc));
  if ((anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_ != paVar6) {
    *(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_;
    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d;
    operator_delete(*(void **)((int)ppOVar24 + -0x10));
  }
  if (uVar15 != 0) {
    this->field_0x91 = this->field_0x91 | 2;
    fill_data.field_2._12_4_ = uVar15;
  }
LAB_002f9954:
  pIVar23 = (this->input_sections_).
            super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
            ._M_impl._M_finish;
  if (pIVar23 !=
      (this->input_sections_).
      super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
      ._M_impl._M_end_of_storage) {
    pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p;
    pIVar23->p2align_ = fill_data._M_string_length;
    *(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity;
    *(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_;
    pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_;
    pIVar23->section_order_index_ = fill_data.field_2._12_4_;
    (this->input_sections_).
    super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
    ._M_impl._M_finish = pIVar23 + 1;
    return CONCAT44(pOVar13,paVar21);
  }
  *(string **)((int)ppOVar24 + -8) = &fill_data;
  *(pointer *)((int)ppOVar24 + -0xc) = pIVar23;
  *(Input_section_list **)((int)ppOVar24 + -0x10) = &this->input_sections_;
  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9dbc;
  std::
  vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
  ::_M_realloc_insert<const_gold::Output_section::Input_section&>
            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),
             *(Input_section **)((int)ppOVar24 + -8));
  return CONCAT44(pOVar13,paVar21);
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */

longlong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,
                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,
                     undefined4 param_8)

{
  undefined4 ***pppuVar1;
  undefined4 ***pppuVar2;
  undefined4 ****ppppuVar3;
  uint uVar4;
  uint uVar5;
  undefined4 ***pppuVar6;
  undefined1 uVar7;
  char cVar8;
  undefined4 *******pppppppuVar9;
  undefined4 *******pppppppuVar10;
  undefined4 uVar11;
  undefined4 *******pppppppuVar12;
  undefined4 ***pppuVar13;
  undefined4 ***pppuVar14;
  int iVar15;
  undefined4 *******pppppppuVar16;
  undefined4 extraout_ECX;
  int iVar17;
  undefined4 *****pppppuVar18;
  undefined4 *******pppppppuVar19;
  undefined1 *puVar20;
  undefined4 ******ppppppuVar21;
  byte *pbVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  longlong lVar26;
  undefined4 *******pppppppuStack_a0;
  undefined1 auStack_9c [8];
  undefined4 *****local_94;
  uint local_90;
  undefined4 *******local_8c;
  undefined4 *******local_88;
  uint local_84;
  undefined4 local_80;
  undefined4 *******local_7c;
  undefined4 ****local_78;
  undefined4 *******local_74;
  int local_70;
  undefined4 local_6c;
  undefined4 *****local_68;
  undefined4 *******local_64;
  undefined4 *****local_60;
  undefined4 *******local_50;
  undefined4 *******local_4c;
  undefined4 ****local_48;
  undefined4 *******local_44;
  undefined4 ****local_40;
  undefined4 ****local_3c;
  undefined4 *******local_38;
  undefined4 *******local_34;
  undefined4 *******local_30;
  undefined4 *******local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar25 = 0;
  local_68 = (undefined4 *****)&__DT_PLTGOT;
  local_60 = (undefined4 *****)0x0;
  local_6c = param_8;
  iVar17 = *param_6;
  local_7c = *(undefined4 ********)(iVar17 + 0x14);
  local_64 = *(undefined4 ********)(iVar17 + 0x20);
  pppuVar2 = param_3[0xd];
  if (pppuVar2 != (undefined4 ***)0x0) {
    pppuVar6 = (undefined4 ***)pppuVar2[2];
    pppuVar13 = pppuVar2 + 1;
    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {
      do {
        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {
          pppuVar6 = (undefined4 ***)pppuVar14[2];
          pppuVar13 = pppuVar14;
          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;
        }
        pppuVar1 = pppuVar14 + 3;
        pppuVar6 = (undefined4 ***)*pppuVar1;
        pppuVar14 = pppuVar13;
      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);
LAB_002f96c8:
      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {
        local_7c = (undefined4 *******)pppuVar14[5];
        local_60 = (undefined4 *****)pppuVar14[9];
        local_64 = (undefined4 *******)pppuVar14[8];
      }
    }
  }
  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||
      ((uint)local_64 & (int)local_64 - 1U) != 0) {
    uVar11 = gettext("invalid alignment %lu for section \"%s\"");
    pppppppuStack_a0 = (undefined4 *******)param_5;
    FUN_0028b750(param_3,uVar11,local_64);
    local_64 = (undefined4 *******)0x1;
    local_60 = (undefined4 *****)0x0;
    iVar17 = *param_6;
  }
  pppppppuVar19 = (undefined4 *******)auStack_9c;
  puVar20 = auStack_9c;
  pppppuVar18 = param_1[10];
  uVar4 = (uint)(param_1[9] < local_64);
  uVar5 = (int)pppppuVar18 - (int)local_60;
  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;
  bVar24 = uVar5 == uVar4;
  if (pppppuVar18 < local_60 || uVar5 < uVar4) {
    param_1[9] = local_64;
    param_1[10] = local_60;
  }
  local_74 = *(undefined4 ********)(iVar17 + 8);
  iVar15 = 0xb;
  local_84 = *(uint *)(iVar17 + 0x24);
  ppppppuVar21 = param_5;
  pbVar22 = (byte *)((int)local_68 + -0x157e09);
  do {
    if (iVar15 == 0) break;
    iVar15 = iVar15 + -1;
    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;
    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;
    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);
    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;
  } while (bVar24);
  if ((!bVar23 && !bVar24) == bVar23) {
    local_74 = (undefined4 *******)((uint)local_74 | 0x30);
    local_84 = 1;
  }
  pppppppuVar16 = local_74;
  local_80 = 0;
  FUN_002c6770(param_1,local_74,0);
  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {
    pppppppuStack_a0 = (undefined4 *******)0x2f9773;
    FUN_002c4e40();
  }
  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {
    local_94 = local_68 + 0x1f2;
    cVar8 = FUN_0030afd0(*local_94);
    if (cVar8 == '\0') {
      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {
        ppppuVar3 = *local_94;
        pppuVar2 = ppppuVar3[3];
        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {
          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {
            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;
            uVar7 = FUN_002c5030();
          }
          else {
            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);
          }
        }
      }
      else {
        uVar7 = 1;
      }
      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,
                           local_60,uVar7);
      if (cVar8 != '\0') {
        return -1;
      }
    }
  }
  local_78 = (undefined4 ****)0x0;
  bVar25 = *(byte *)((int)param_1 + 0x92);
  local_84 = CONCAT31(local_84._1_3_,bVar25);
  if ((bVar25 & 0x20) != 0) {
    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);
    if (lVar26 != -1) {
      return lVar26;
    }
    pppppuVar18 = param_1[8];
    uVar11 = gettext(local_68 + -0x55fdf);
                    /* WARNING: Subroutine does not return */
    FUN_0023b7e0(uVar11,pppppuVar18);
  }
  local_88 = (undefined4 *******)param_1[4];
  local_8c = (undefined4 *******)param_1[3];
  pppppppuVar16 = local_8c;
  pppppppuVar9 = local_88;
  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {
    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);
    local_90 = (int)local_88 +
               (int)local_60 +
               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +
               ((local_8c != (undefined4 *******)0x0) - 1);
    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);
    pppppppuVar9 = (undefined4 *******)
                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));
  }
  if (((uint)param_1[7] & 2) != 0) {
    pppppppuStack_a0 = (undefined4 *******)param_1;
                    /* WARNING: Subroutine does not return */
    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);
  }
  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);
  param_1[4] = (undefined4 *****)
               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));
  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {
    if (((uint)local_74 & 4) == 0) {
      pppppppuVar19 = (undefined4 *******)auStack_9c;
      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=
          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=
          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)
      goto LAB_002f9c88;
    }
    else {
      local_94 = local_68 + 0x1f2;
      ppppuVar3 = *local_94;
      pppuVar2 = ppppuVar3[3];
      puVar20 = auStack_9c;
      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {
        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=
            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=
            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)
        goto LAB_002f9bab;
      }
      else {
        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {
          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {
            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;
            cVar8 = FUN_002c5030();
          }
          else {
            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);
          }
          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            goto LAB_002f9834;
          }
        }
        if (param_1[0x21] != param_1[0x20]) {
          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];
                    /* WARNING: Subroutine does not return */
          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);
        }
        bVar25 = *(byte *)((int)param_1 + 0x92);
        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);
        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;
        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;
      }
    }
LAB_002f9852:
    pppppppuVar19 = (undefined4 *******)auStack_9c;
    if (((local_84 & 0x10) == 0) &&
       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'
       )) {
LAB_002f9c92:
      pppppppuVar19 = (undefined4 *******)puVar20;
      pppppuVar18 = param_1[0x1b];
      if ((param_1[0x1c] == pppppuVar18) &&
         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))
         )) {
        ppppuVar3 = local_68[0x1f2];
        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;
        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {
          pppuVar2 = ppppuVar3[3];
          puVar20 = (undefined1 *)pppppppuVar19;
          if (pppuVar2 == (undefined4 ***)0x0) {
LAB_002f9f4f:
            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;
            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;
            *(undefined4 *)(puVar20 + -0xc) = 0x69;
            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;
            FUN_002446e0();
          }
          if (((uint)ppppuVar3[5] & 8) == 0) {
            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];
            if (pppppuVar18 == local_68 + -0x15e2d0) {
              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;
              cVar8 = FUN_002c5030();
            }
            else {
              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;
              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;
              cVar8 = (*(code *)pppppuVar18)();
            }
            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {
              return CONCAT44(pppppppuVar9,pppppppuVar16);
            }
          }
        }
      }
    }
  }
  else {
LAB_002f9834:
    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=
         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==
         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||
       ((local_84 & 1) != 0)) goto LAB_002f9852;
    if ((char)local_6c == '\0') {
      pppppppuVar19 = (undefined4 *******)auStack_9c;
      if (((uint)local_74 & 4) != 0) {
        local_94 = local_68 + 0x1f2;
LAB_002f9bab:
        pppuVar2 = (*local_94)[3];
        puVar20 = auStack_9c;
        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
        pppppppuVar19 = (undefined4 *******)auStack_9c;
        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {
          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);
          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);
          if (param_1[0x1c] == param_1[0x1b]) {
            local_34 = local_8c;
            local_30 = local_88;
            if (local_70 != 0) {
              pppppppuStack_a0 = local_88;
                    /* WARNING: Subroutine does not return */
              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);
            }
            local_2c = local_74;
            FUN_002e83d0(param_1 + 0x20,&local_34);
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            pppppppuVar19 = (undefined4 *******)auStack_9c;
          }
          else {
            pppppppuVar19 = local_74;
            local_74 = &local_4c;
            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);
                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */
            uVar11 = FUN_003ac4d0(0x44);
            local_84 = uVar11;
                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */
            FUN_002e80a0(uVar11,local_74,1,0);
            local_34 = (undefined4 *******)0xffffffff;
            local_30 = (undefined4 *******)0x0;
            local_20 = 0;
            local_2c = (undefined4 *******)0x0;
            local_28 = 0;
            local_24 = uVar11;
                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */
            FUN_002e2370(param_1 + 0x1b,&local_34);
            if ((undefined4 ********)local_4c != &local_44) {
              FUN_003ae080(local_4c);
            }
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            pppppppuVar19 = &pppppppuStack_a0;
          }
        }
      }
LAB_002f9c88:
      puVar20 = (undefined1 *)pppppppuVar19;
      if ((local_84 & 0x10) != 0) goto LAB_002f9862;
      goto LAB_002f9c92;
    }
  }
LAB_002f9862:
  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;
  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;
  local_4c = param_4;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;
  local_48 = (undefined4 ****)FUN_00442880();
  local_38 = (undefined4 *******)0x0;
  if (param_4 + 1 < (undefined4 *******)0x4) {
    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;
    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;
    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;
    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;
    FUN_002446e0();
  }
  local_44 = local_7c;
  local_40 = local_78;
  local_3c = param_3;
  pppppuVar18 = local_68;
  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {
LAB_002f9f1a:
    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;
    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;
    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;
    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;
    FUN_002446e0();
  }
  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;
  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;
  local_74 = &local_34;
  local_64 = &local_2c;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;
  local_34 = local_64;
  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));
  local_50 = pppppppuVar10;
  if (pppppppuVar10 < (undefined4 *******)0x10) {
    pppppppuVar12 = local_64;
    if (pppppppuVar10 == (undefined4 *******)0x1) {
      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);
    }
    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;
  }
  else {
    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;
    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;
    local_7c = pppppppuVar10;
    local_34 = (undefined4 *******)FUN_003b5790();
    local_2c = local_50;
    pppppppuVar12 = local_34;
    pppppppuVar10 = local_7c;
LAB_002f9d83:
    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;
    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;
    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),
           *(size_t *)((int)pppppppuVar19 + -8));
    pppppppuVar12 = local_34;
  }
  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;
  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;
  *(int *)((int)pppppppuVar19 + -0x10) = param_2;
                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;
  local_30 = local_50;
  pppppppuVar10 = (undefined4 *******)FUN_00279d90();
  if (local_34 != local_64) {
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;
    local_64 = pppppppuVar10;
    FUN_003ae080();
    pppppppuVar10 = local_64;
  }
  if (pppppppuVar10 != (undefined4 *******)0x0) {
    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;
    local_38 = pppppppuVar10;
  }
LAB_002f9954:
  pppppuVar18 = param_1[0x1c];
  if (pppppuVar18 != param_1[0x1d]) {
    *pppppuVar18 = local_4c;
    pppppuVar18[1] = local_48;
    pppppuVar18[2] = local_44;
    pppppuVar18[3] = local_40;
    pppppuVar18[4] = local_3c;
    pppppuVar18[5] = local_38;
    param_1[0x1c] = pppppuVar18 + 6;
    return CONCAT44(pppppppuVar9,pppppppuVar16);
  }
  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;
  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;
  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;
  FUN_002de9c0();
  return CONCAT44(pppppppuVar9,pppppppuVar16);
}


CALL 0x00074f02
ADD EAX,0x2f099b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
XOR ESI,ESI
PUSH EBX
SUB ESP,0x8c
MOV dword ptr [EBP + -0x64],EAX
MOV EAX,dword ptr [EBP + 0x24]
MOV dword ptr [EBP + -0x5c],ESI
MOV dword ptr [EBP + -0x68],EAX
MOV EAX,dword ptr [EBP + 0x1c]
MOV EDX,dword ptr [EAX]
MOV EAX,dword ptr [EDX + 0x14]
MOV EBX,dword ptr [EDX + 0x20]
MOV dword ptr [EBP + -0x78],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + -0x60],EBX
MOV EAX,dword ptr [EAX + 0x34]
TEST EAX,EAX
JZ 0x002f96d8
LEA EBX,[EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x002f96d8
MOV ECX,EBX
JMP 0x002f96b9
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x002f96c8
MOV EDI,dword ptr [EAX + 0x10]
CMP dword ptr [EBP + 0x14],EDI
JBE 0x002f96b0
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x002f96b9
CMP EBX,ECX
JZ 0x002f96d8
MOV EAX,dword ptr [ECX + 0x10]
CMP dword ptr [EBP + 0x14],EAX
JNC 0x002f99c0
MOV ESI,dword ptr [EBP + -0x60]
MOV EDI,dword ptr [EBP + -0x5c]
MOV ECX,ESI
MOV EBX,EDI
MOV EAX,ESI
ADD ECX,-0x1
ADC EBX,-0x1
AND EAX,ECX
MOV ECX,EBX
AND ECX,EDI
OR ECX,EAX
JNZ 0x002f99e0
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + -0x5c]
MOV EBX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX + 0x28]
CMP dword ptr [EDI + 0x24],EBX
SBB EAX,ESI
JNC 0x002f9714
MOV dword ptr [EDI + 0x24],EBX
MOV dword ptr [EDI + 0x28],ESI
MOV EAX,dword ptr [EDX + 0x8]
MOV ESI,dword ptr [EBP + 0x18]
MOV ECX,0xb
MOV EDX,dword ptr [EDX + 0x24]
MOV dword ptr [EBP + -0x70],EAX
MOV EAX,dword ptr [EBP + -0x64]
LEA EDI,[EAX + 0xffea81f7]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002f99a0
MOV dword ptr [EBP + -0x80],EDX
MOV dword ptr [EBP + -0x7c],0x0
MOV ESI,dword ptr [EBP + -0x70]
SUB ESP,0x4
XOR EDI,EDI
PUSH EDI
PUSH ESI
PUSH dword ptr [EBP + 0x8]
CALL 0x002c6770
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
TEST byte ptr [EAX + 0x92],0x2
JNZ 0x002f9773
MOV EDX,dword ptr [EBP + -0x80]
MOV ECX,dword ptr [EBP + -0x7c]
CALL 0x002c4e40
TEST byte ptr [EBP + -0x70],0x10
JZ 0x002f9784
MOV EAX,dword ptr [EBP + 0x20]
TEST EAX,EAX
JZ 0x002f9a88
MOV EAX,dword ptr [EBP + -0x78]
MOV dword ptr [EBP + -0x74],0x0
MOV dword ptr [EBP + -0x78],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x92]
MOV byte ptr [EBP + -0x80],AL
TEST AL,0x20
JNZ 0x002f9a28
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + -0x5c]
MOV ECX,dword ptr [EBP + -0x60]
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0xc]
MOV EDI,EDX
MOV EDX,EBX
MOV ESI,EAX
OR EDX,ECX
MOV dword ptr [EBP + 0xffffff78],ESI
MOV dword ptr [EBP + 0xffffff7c],EDI
JZ 0x002f9804
MOV EAX,ESI
MOV EDX,EDI
ADD EAX,-0x1
ADC EDX,-0x1
ADD EAX,ECX
ADC EDX,EBX
MOV dword ptr [EBP + 0xffffff70],EAX
MOV EAX,ECX
MOV ECX,dword ptr [EBP + 0xffffff70]
NEG EAX
MOV dword ptr [EBP + 0xffffff74],EDX
MOV EDX,EBX
ADC EDX,0x0
AND ECX,EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
NEG EDX
MOV ESI,ECX
AND EAX,EDX
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EBP + -0x74]
MOV EBX,dword ptr [EBP + 0x8]
ADD EAX,ESI
ADC EDX,EDI
TEST byte ptr [EBX + 0x1c],0x2
JNZ 0x002f9f33
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBX + 0xc],EAX
MOV dword ptr [EBX + 0x10],EDX
TEST byte ptr [EBP + -0x80],0x1
JNZ 0x002f9834
CMP byte ptr [EBP + -0x68],0x0
JZ 0x002f9b60
MOV EAX,dword ptr [EBP + 0xffffff78]
MOV EDX,dword ptr [EBP + 0xffffff7c]
CMP EAX,ESI
MOV EAX,EDX
SBB EAX,EDI
JGE 0x002f9852
TEST byte ptr [EBP + -0x80],0x1
JZ 0x002f9d30
TEST byte ptr [EBP + -0x80],0x10
JNZ 0x002f9862
CMP byte ptr [EBP + -0x68],0x0
JZ 0x002f9c92
SUB ESP,0x8
MOV EAX,dword ptr [EBP + 0x14]
MOV EBX,dword ptr [EBP + -0x64]
PUSH dword ptr [EBP + -0x5c]
PUSH dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x48],EAX
CALL 0x00442880
ADD ESP,0x10
MOV dword ptr [EBP + -0x34],0x0
MOV dword ptr [EBP + -0x44],EAX
MOV EAX,dword ptr [EBP + 0x14]
ADD EAX,0x4
CMP EAX,0x3
JBE 0x002f9efe
MOV EAX,dword ptr [EBP + -0x78]
MOV EBX,dword ptr [EBP + -0x64]
MOV EDX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x40],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + -0x3c],EDX
MOV dword ptr [EBP + -0x38],EAX
LEA EAX,[EBX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x002f9f1a
MOV EDX,dword ptr [EAX + 0x36d8]
TEST EDX,EDX
JZ 0x002f9954
SUB ESP,0xc
PUSH dword ptr [EBP + 0x18]
LEA EAX,[EBP + -0x30]
MOV dword ptr [EBP + -0x70],EAX
LEA EAX,[EBP + -0x28]
MOV dword ptr [EBP + -0x60],EAX
MOV dword ptr [EBP + -0x30],EAX
CALL 0x00039330
ADD ESP,0x10
MOV EDX,EAX
MOV dword ptr [EBP + -0x4c],EAX
CMP EAX,0xf
JA 0x002f9d60
CMP EAX,0x1
JNZ 0x002f9b50
MOV EBX,dword ptr [EBP + 0x18]
MOVZX EDX,byte ptr [EBX]
MOV byte ptr [EBP + -0x28],DL
MOV EDX,dword ptr [EBP + -0x60]
SUB ESP,0x8
MOV dword ptr [EBP + -0x2c],EAX
MOV EBX,dword ptr [EBP + -0x64]
MOV byte ptr [EDX + EAX*0x1],0x0
PUSH dword ptr [EBP + -0x70]
PUSH dword ptr [EBP + 0xc]
CALL 0x00279d90
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x30]
CMP EDX,dword ptr [EBP + -0x60]
JZ 0x002f9943
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x64]
MOV dword ptr [EBP + -0x60],EAX
PUSH EDX
CALL 0x003ae080
MOV EAX,dword ptr [EBP + -0x60]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002f9954
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [EBP + 0x8]
OR byte ptr [EAX + 0x91],0x2
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x70]
CMP EAX,dword ptr [ECX + 0x74]
JZ 0x002f9da8
MOV EDX,dword ptr [EBP + -0x48]
ADD EAX,0x18
MOV dword ptr [EAX + -0x18],EDX
MOV EDX,dword ptr [EBP + -0x44]
MOV dword ptr [EAX + -0x14],EDX
MOV EDX,dword ptr [EBP + -0x40]
MOV dword ptr [EAX + -0x10],EDX
MOV EDX,dword ptr [EBP + -0x3c]
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x38]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x34]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ECX + 0x70],EAX
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
MOV EDX,EDI
POP EBX
POP ESI
POP EDI
POP EBP
RET
OR dword ptr [EBP + -0x70],0x30
MOV dword ptr [EBP + -0x80],0x1
MOV dword ptr [EBP + -0x7c],0x0
JMP 0x002f9747
MOV EAX,dword ptr [ECX + 0x14]
MOV EBX,dword ptr [ECX + 0x24]
MOV ECX,dword ptr [ECX + 0x20]
MOV dword ptr [EBP + -0x78],EAX
MOV dword ptr [EBP + -0x60],ECX
MOV dword ptr [EBP + -0x5c],EBX
JMP 0x002f96d8
MOV EDI,dword ptr [EBP + -0x64]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea81d0]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + -0x60]
PUSH EAX
PUSH dword ptr [EBP + 0x10]
CALL 0x0028b750
MOV EAX,dword ptr [EBP + 0x1c]
ADD ESP,0x10
MOV dword ptr [EBP + -0x60],0x1
MOV dword ptr [EBP + -0x5c],0x0
MOV EDX,dword ptr [EAX]
JMP 0x002f96f8
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x64]
PUSH 0x0
ADD EAX,0xb4
PUSH 0x0
PUSH dword ptr [EBP + -0x5c]
PUSH dword ptr [EBP + -0x60]
PUSH dword ptr [EBP + -0x74]
PUSH dword ptr [EBP + -0x78]
PUSH EAX
CALL 0x00270e00
ADD ESP,0x20
MOV ESI,EAX
MOV EAX,EDX
MOV EDI,EDX
AND EAX,ESI
CMP EAX,-0x1
JNZ 0x002f9990
MOV EDI,dword ptr [EBP + -0x64]
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0xc
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EDI + 0xffea8084]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x0023b7e0
MOV EAX,dword ptr [EBP + 0x1c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x14]
TEST EAX,EAX
JZ 0x002f9784
MOV EBX,dword ptr [EBP + -0x64]
SUB ESP,0xc
LEA EAX,[EBX + 0x7c8]
PUSH dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff70],EAX
CALL 0x0030afd0
ADD ESP,0x10
TEST AL,AL
JNZ 0x002f9784
MOV EBX,dword ptr [EBP + 0x8]
TEST byte ptr [EBX + 0x92],0x10
JNZ 0x002f9e80
CMP byte ptr [EBP + -0x68],0x0
JNZ 0x002f9e80
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
TEST ECX,ECX
JZ 0x002f9f4f
MOV EBX,dword ptr [EDX + 0x8]
TEST EBX,EBX
JZ 0x002f9afb
MOV EAX,0x1
TEST byte ptr [EDX + 0x14],0x8
JNZ 0x002f9b19
MOV EAX,dword ptr [ECX]
MOV EBX,dword ptr [EBP + -0x64]
MOV EAX,dword ptr [EAX + 0x70]
LEA EDX,[EBX + 0xffa874c0]
CMP EAX,EDX
JNZ 0x002f9ee2
CALL 0x002c5030
MOVZX EAX,AL
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [EBP + -0x5c]
PUSH dword ptr [EBP + -0x60]
PUSH dword ptr [EBP + -0x7c]
PUSH dword ptr [EBP + -0x80]
PUSH EDI
PUSH ESI
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0x8]
CALL 0x002ccac0
ADD ESP,0x30
TEST AL,AL
JZ 0x002f9784
OR ESI,0xffffffff
MOV EDI,ESI
JMP 0x002f9990
TEST EAX,EAX
JNZ 0x002f9fa0
MOV EDX,dword ptr [EBP + -0x60]
JMP 0x002f990b
TEST byte ptr [EBP + -0x70],0x4
JZ 0x002f9dd0
MOV EAX,dword ptr [EBP + -0x64]
LEA EAX,[EAX + 0x7c8]
MOV EDX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff70],EAX
MOV EAX,dword ptr [EDX + 0xc]
TEST EAX,EAX
JZ 0x002f9f4f
MOV EBX,dword ptr [EAX + 0x4]
CMP byte ptr [EBX + 0xe],0x0
JNZ 0x002f9df0
MOV EAX,dword ptr [EBP + 0xffffff78]
MOV EDX,dword ptr [EBP + 0xffffff7c]
CMP EAX,ESI
MOV EAX,EDX
SBB EAX,EDI
JGE 0x002f9852
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x002f9f4f
MOV EDX,dword ptr [EAX + 0x4]
CMP byte ptr [EDX + 0xe],0x0
JZ 0x002f9c88
MOV ECX,ESI
MOV EBX,EDI
SUB ECX,dword ptr [EBP + 0xffffff78]
SBB EBX,dword ptr [EBP + 0xffffff7c]
MOV dword ptr [EBP + -0x6c],EBX
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x70],ECX
MOV ECX,dword ptr [EBX + 0x6c]
CMP dword ptr [EBX + 0x70],ECX
JZ 0x002f9e8a
MOV EDX,dword ptr [EAX]
SUB ESP,0x4
LEA ECX,[EBP + -0x48]
PUSH dword ptr [EBP + -0x70]
MOV dword ptr [EBP + -0x70],ECX
PUSH EAX
PUSH ECX
CALL dword ptr [EDX + 0x18]
MOV EBX,dword ptr [EBP + -0x64]
PUSH 0x44
CALL 0x003ac4d0
ADD ESP,0x10
MOV EBX,EAX
MOV dword ptr [EBP + -0x80],EAX
PUSH 0x0
PUSH 0x1
PUSH dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x002e80a0
POP EAX
LEA EAX,[EBP + -0x30]
POP EDX
MOV dword ptr [EBP + -0x20],EBX
PUSH EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x30],0xffffffff
ADD EAX,0x6c
MOV dword ptr [EBP + -0x2c],0x0
PUSH EAX
MOV dword ptr [EBP + -0x1c],0x0
MOV dword ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x24],0x0
CALL 0x002e2370
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x002f9c76
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x64]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x92]
MOV byte ptr [EBP + -0x80],AL
LEA ESI,[ESI]
NOP
TEST byte ptr [EBP + -0x80],0x10
JNZ 0x002f9862
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x6c]
CMP dword ptr [EAX + 0x70],EBX
JNZ 0x002f9862
MOVZX EAX,byte ptr [EAX + 0x91]
TEST AL,0x4
JNZ 0x002f9862
TEST AL,0x8
JNZ 0x002f9862
MOV EAX,dword ptr [EBP + -0x64]
LEA EAX,[EAX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x8]
TEST EDX,EDX
JZ 0x002f9f1a
CMP byte ptr [EDX + 0x247c],0x0
JNZ 0x002f9862
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x002f9f4f
TEST byte ptr [EAX + 0x14],0x8
JNZ 0x002f9862
MOV EAX,dword ptr [EDX]
MOV ECX,dword ptr [EBP + -0x64]
MOV EAX,dword ptr [EAX + 0x70]
LEA ECX,[ECX + 0xffa874c0]
CMP EAX,ECX
JNZ 0x002f9ef0
CALL 0x002c5030
TEST AL,AL
JNZ 0x002f9862
MOV EAX,dword ptr [EBP + 0xc]
CMP byte ptr [EAX + 0x1cd],0x0
JNZ 0x002f9862
JMP 0x002f9990
CMP byte ptr [EBP + -0x68],0x0
JNZ 0x002f9862
TEST byte ptr [EBP + -0x70],0x4
JZ 0x002f9c88
MOV EAX,dword ptr [EBP + -0x64]
LEA EAX,[EAX + 0x7c8]
MOV dword ptr [EBP + 0xffffff70],EAX
JMP 0x002f9bab
SUB ESP,0x4
MOV dword ptr [EBP + -0x78],EAX
LEA EAX,[EBP + -0x4c]
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBP + -0x70]
CALL 0x003b5790
MOV ECX,dword ptr [EBP + -0x4c]
MOV EDX,dword ptr [EBP + -0x78]
ADD ESP,0x10
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x28],ECX
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x64]
PUSH EDX
PUSH dword ptr [EBP + 0x18]
PUSH EAX
CALL 0x000392d0
MOV EAX,dword ptr [EBP + -0x4c]
MOV EDX,dword ptr [EBP + -0x30]
ADD ESP,0x10
JMP 0x002f990b
SUB ESP,0x4
LEA EDX,[EBP + -0x48]
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [EBP + 0x8]
ADD EAX,0x6c
PUSH EAX
CALL 0x002de9c0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
MOV EDX,EDI
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xffffff78]
MOV EDX,dword ptr [EBP + 0xffffff7c]
CMP EAX,ESI
MOV EAX,EDX
SBB EAX,EDI
JGE 0x002f9852
JMP 0x002f9c88
MOV ECX,dword ptr [EDX + 0x8]
TEST ECX,ECX
JZ 0x002f9dfd
TEST byte ptr [EDX + 0x14],0x8
JNZ 0x002f9e40
MOV EDX,dword ptr [EAX]
MOV EBX,dword ptr [EBP + -0x64]
MOV EDX,dword ptr [EDX + 0x70]
LEA EBX,[EBX + 0xffa874c0]
CMP EDX,EBX
JNZ 0x002f9ed4
CALL 0x002c5030
TEST AL,AL
JNZ 0x002f9e40
MOV EAX,dword ptr [EBP + 0xc]
CMP byte ptr [EAX + 0x1cd],0x0
JNZ 0x002f9e40
MOV EAX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x92]
MOV byte ptr [EBP + -0x80],AL
JMP 0x002f9834
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x80]
CMP dword ptr [EAX + 0x84],EBX
JNZ 0x002f9f68
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x92]
MOV byte ptr [EBP + -0x70],AL
OR EAX,0x1
MOV byte ptr [EBX + 0x92],AL
MOV byte ptr [EBP + -0x80],AL
JMP 0x002f9852
MOV EAX,0x1
JMP 0x002f9b19
MOV EDX,dword ptr [EBP + 0xffffff78]
MOV ECX,dword ptr [EBP + 0xffffff7c]
MOV EAX,EBX
SUB EAX,-0x80
MOV dword ptr [EBP + -0x30],EDX
MOV EDX,dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + -0x2c],ECX
TEST EDX,EDX
JNZ 0x002f9f84
SUB ESP,0x8
LEA EDX,[EBP + -0x30]
MOV ECX,dword ptr [EBP + -0x70]
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + -0x28],ECX
CALL 0x002e83d0
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOVZX EAX,byte ptr [EAX + 0x92]
MOV byte ptr [EBP + -0x80],AL
JMP 0x002f9c88
SUB ESP,0xc
PUSH EAX
CALL EDX
ADD ESP,0x10
JMP 0x002f9e18
SUB ESP,0xc
PUSH ECX
CALL EAX
ADD ESP,0x10
JMP 0x002f9b16
SUB ESP,0xc
PUSH EDX
CALL EAX
ADD ESP,0x10
JMP 0x002f9d0b
MOV EBX,dword ptr [EBP + -0x64]
PUSH ECX
LEA EAX,[EBX + 0xffea9350]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xe9a
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + -0x64]
LEA EAX,[EBX + 0xffea9cb8]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + -0x64]
LEA EAX,[EBX + 0xffea9b60]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x231
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x64]
PUSH ESI
LEA EAX,[EBX + 0xffea9ce4]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x69
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + -0x64]
LEA EAX,[EBX + 0xffea9370]
PUSH EAX
LEA EAX,[EBX + 0xffea7d0b]
PUSH 0x9eb
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x64]
PUSH ECX
LEA EAX,[EBX + 0xffea9360]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
MOV EAX,dword ptr [EBP + -0x60]
JMP 0x002f9d83
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n\nlonglong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)\n\n{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    /* WARNING: Subroutine does not return */\n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}\n\n" comment comment (function_definition "longlong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)\n\n{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    /* WARNING: Subroutine does not return */\n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" type_identifier (function_declarator "FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" identifier (parameter_list "(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" ( (parameter_declaration "undefined4 ******param_1" type_identifier (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 ****param_3" type_identifier (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))) , (parameter_declaration "undefined4 *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) , (parameter_declaration "undefined4 ******param_5" type_identifier (pointer_declarator "******param_5" * (pointer_declarator "*****param_5" * (pointer_declarator "****param_5" * (pointer_declarator "***param_5" * (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))))))) , (parameter_declaration "int *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) ))) (compound_statement "{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    /* WARNING: Subroutine does not return */\n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" { (declaration "undefined4 ***pppuVar1;" type_identifier (pointer_declarator "***pppuVar1" * (pointer_declarator "**pppuVar1" * (pointer_declarator "*pppuVar1" * identifier))) ;) (declaration "undefined4 ***pppuVar2;" type_identifier (pointer_declarator "***pppuVar2" * (pointer_declarator "**pppuVar2" * (pointer_declarator "*pppuVar2" * identifier))) ;) (declaration "undefined4 ****ppppuVar3;" type_identifier (pointer_declarator "****ppppuVar3" * (pointer_declarator "***ppppuVar3" * (pointer_declarator "**ppppuVar3" * (pointer_declarator "*ppppuVar3" * identifier)))) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar9;" type_identifier (pointer_declarator "*******pppppppuVar9" * (pointer_declarator "******pppppppuVar9" * (pointer_declarator "*****pppppppuVar9" * (pointer_declarator "****pppppppuVar9" * (pointer_declarator "***pppppppuVar9" * (pointer_declarator "**pppppppuVar9" * (pointer_declarator "*pppppppuVar9" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuVar12;" type_identifier (pointer_declarator "*******pppppppuVar12" * (pointer_declarator "******pppppppuVar12" * (pointer_declarator "*****pppppppuVar12" * (pointer_declarator "****pppppppuVar12" * (pointer_declarator "***pppppppuVar12" * (pointer_declarator "**pppppppuVar12" * (pointer_declarator "*pppppppuVar12" * identifier))))))) ;) (declaration "undefined4 ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "undefined4 ***pppuVar14;" type_identifier (pointer_declarator "***pppuVar14" * (pointer_declarator "**pppuVar14" * (pointer_declarator "*pppuVar14" * identifier))) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar16;" type_identifier (pointer_declarator "*******pppppppuVar16" * (pointer_declarator "******pppppppuVar16" * (pointer_declarator "*****pppppppuVar16" * (pointer_declarator "****pppppppuVar16" * (pointer_declarator "***pppppppuVar16" * (pointer_declarator "**pppppppuVar16" * (pointer_declarator "*pppppppuVar16" * identifier))))))) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *****pppppuVar18;" type_identifier (pointer_declarator "*****pppppuVar18" * (pointer_declarator "****pppppuVar18" * (pointer_declarator "***pppppuVar18" * (pointer_declarator "**pppppuVar18" * (pointer_declarator "*pppppuVar18" * identifier))))) ;) (declaration "undefined4 *******pppppppuVar19;" type_identifier (pointer_declarator "*******pppppppuVar19" * (pointer_declarator "******pppppppuVar19" * (pointer_declarator "*****pppppppuVar19" * (pointer_declarator "****pppppppuVar19" * (pointer_declarator "***pppppppuVar19" * (pointer_declarator "**pppppppuVar19" * (pointer_declarator "*pppppppuVar19" * identifier))))))) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 ******ppppppuVar21;" type_identifier (pointer_declarator "******ppppppuVar21" * (pointer_declarator "*****ppppppuVar21" * (pointer_declarator "****ppppppuVar21" * (pointer_declarator "***ppppppuVar21" * (pointer_declarator "**ppppppuVar21" * (pointer_declarator "*ppppppuVar21" * identifier)))))) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuStack_a0;" type_identifier (pointer_declarator "*******pppppppuStack_a0" * (pointer_declarator "******pppppppuStack_a0" * (pointer_declarator "*****pppppppuStack_a0" * (pointer_declarator "****pppppppuStack_a0" * (pointer_declarator "***pppppppuStack_a0" * (pointer_declarator "**pppppppuStack_a0" * (pointer_declarator "*pppppppuStack_a0" * identifier))))))) ;) (declaration "undefined1 auStack_9c [8];" type_identifier (array_declarator "auStack_9c [8]" identifier [ number_literal ]) ;) (declaration "undefined4 *****local_94;" type_identifier (pointer_declarator "*****local_94" * (pointer_declarator "****local_94" * (pointer_declarator "***local_94" * (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier))))) ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "undefined4 *******local_8c;" type_identifier (pointer_declarator "*******local_8c" * (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier))))))) ;) (declaration "undefined4 *******local_88;" type_identifier (pointer_declarator "*******local_88" * (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))))))) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 *******local_7c;" type_identifier (pointer_declarator "*******local_7c" * (pointer_declarator "******local_7c" * (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))))) ;) (declaration "undefined4 ****local_78;" type_identifier (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))) ;) (declaration "undefined4 *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 *****local_68;" type_identifier (pointer_declarator "*****local_68" * (pointer_declarator "****local_68" * (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))))) ;) (declaration "undefined4 *******local_64;" type_identifier (pointer_declarator "*******local_64" * (pointer_declarator "******local_64" * (pointer_declarator "*****local_64" * (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier))))))) ;) (declaration "undefined4 *****local_60;" type_identifier (pointer_declarator "*****local_60" * (pointer_declarator "****local_60" * (pointer_declarator "***local_60" * (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier))))) ;) (declaration "undefined4 *******local_50;" type_identifier (pointer_declarator "*******local_50" * (pointer_declarator "******local_50" * (pointer_declarator "*****local_50" * (pointer_declarator "****local_50" * (pointer_declarator "***local_50" * (pointer_declarator "**local_50" * (pointer_declarator "*local_50" * identifier))))))) ;) (declaration "undefined4 *******local_4c;" type_identifier (pointer_declarator "*******local_4c" * (pointer_declarator "******local_4c" * (pointer_declarator "*****local_4c" * (pointer_declarator "****local_4c" * (pointer_declarator "***local_4c" * (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier))))))) ;) (declaration "undefined4 ****local_48;" type_identifier (pointer_declarator "****local_48" * (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)))) ;) (declaration "undefined4 *******local_44;" type_identifier (pointer_declarator "*******local_44" * (pointer_declarator "******local_44" * (pointer_declarator "*****local_44" * (pointer_declarator "****local_44" * (pointer_declarator "***local_44" * (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier))))))) ;) (declaration "undefined4 ****local_40;" type_identifier (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))) ;) (declaration "undefined4 ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 *******local_38;" type_identifier (pointer_declarator "*******local_38" * (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))))) ;) (declaration "undefined4 *******local_34;" type_identifier (pointer_declarator "*******local_34" * (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))))) ;) (declaration "undefined4 *******local_30;" type_identifier (pointer_declarator "*******local_30" * (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))))) ;) (declaration "undefined4 *******local_2c;" type_identifier (pointer_declarator "*******local_2c" * (pointer_declarator "******local_2c" * (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))))))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (undefined4 *****)&__DT_PLTGOT;" (assignment_expression "local_68 = (undefined4 *****)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 *****)&__DT_PLTGOT" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_6c = param_8;" (assignment_expression "local_6c = param_8" identifier = identifier) ;) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) (expression_statement "local_7c = *(undefined4 ********)(iVar17 + 0x14);" (assignment_expression "local_7c = *(undefined4 ********)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 0x14)" * (cast_expression "(undefined4 ********)(iVar17 + 0x14)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_64 = *(undefined4 ********)(iVar17 + 0x20);" (assignment_expression "local_64 = *(undefined4 ********)(iVar17 + 0x20)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 0x20)" * (cast_expression "(undefined4 ********)(iVar17 + 0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 0x20)" ( (binary_expression "iVar17 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pppuVar2 = param_3[0xd];" (assignment_expression "pppuVar2 = param_3[0xd]" identifier = (subscript_expression "param_3[0xd]" identifier [ number_literal ])) ;) (if_statement "if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" if (parenthesized_expression "(pppuVar2 != (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 != (undefined4 ***)0x0" identifier != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" { (expression_statement "pppuVar6 = (undefined4 ***)pppuVar2[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar2[2]" identifier = (cast_expression "(undefined4 ***)pppuVar2[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar13 = pppuVar2 + 1;" (assignment_expression "pppuVar13 = pppuVar2 + 1" identifier = (binary_expression "pppuVar2 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" if (parenthesized_expression "((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar2[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar2[2]" identifier [ number_literal ])) != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" { (do_statement "do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);" do (compound_statement "{\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      }" { (while_statement "while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" while (parenthesized_expression "(pppuVar14 = pppuVar6, param_4 <= pppuVar14[4])" ( (comma_expression "pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]" (assignment_expression "pppuVar14 = pppuVar6" identifier = identifier) , (binary_expression "param_4 <= pppuVar14[4]" identifier <= (subscript_expression "pppuVar14[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" { (expression_statement "pppuVar6 = (undefined4 ***)pppuVar14[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar14[2]" identifier = (cast_expression "(undefined4 ***)pppuVar14[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar13 = pppuVar14;" (assignment_expression "pppuVar13 = pppuVar14" identifier = identifier) ;) (if_statement "if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;" if (parenthesized_expression "((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar14[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar14[2]" identifier [ number_literal ])) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f96c8;" goto statement_identifier ;)) })) (expression_statement "pppuVar1 = pppuVar14 + 3;" (assignment_expression "pppuVar1 = pppuVar14 + 3" identifier = (binary_expression "pppuVar14 + 3" identifier + number_literal)) ;) (expression_statement "pppuVar6 = (undefined4 ***)*pppuVar1;" (assignment_expression "pppuVar6 = (undefined4 ***)*pppuVar1" identifier = (cast_expression "(undefined4 ***)*pppuVar1" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*pppuVar1" * identifier))) ;) (expression_statement "pppuVar14 = pppuVar13;" (assignment_expression "pppuVar14 = pppuVar13" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)*pppuVar1 != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)*pppuVar1" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*pppuVar1" * identifier)) != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) ;) (labeled_statement "LAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" statement_identifier : (if_statement "if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" if (parenthesized_expression "((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4))" ( (binary_expression "(pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)" (parenthesized_expression "(pppuVar2 + 1 != pppuVar14)" ( (binary_expression "pppuVar2 + 1 != pppuVar14" (binary_expression "pppuVar2 + 1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(pppuVar14[4] <= param_4)" ( (binary_expression "pppuVar14[4] <= param_4" (subscript_expression "pppuVar14[4]" identifier [ number_literal ]) <= identifier) ))) )) (compound_statement "{\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" { (expression_statement "local_7c = (undefined4 *******)pppuVar14[5];" (assignment_expression "local_7c = (undefined4 *******)pppuVar14[5]" identifier = (cast_expression "(undefined4 *******)pppuVar14[5]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppuVar14[5]" identifier [ number_literal ]))) ;) (expression_statement "local_60 = (undefined4 *****)pppuVar14[9];" (assignment_expression "local_60 = (undefined4 *****)pppuVar14[9]" identifier = (cast_expression "(undefined4 *****)pppuVar14[9]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppuVar14[9]" identifier [ number_literal ]))) ;) (expression_statement "local_64 = (undefined4 *******)pppuVar14[8];" (assignment_expression "local_64 = (undefined4 *******)pppuVar14[8]" identifier = (cast_expression "(undefined4 *******)pppuVar14[8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppuVar14[8]" identifier [ number_literal ]))) ;) }))) })) })) (if_statement "if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" if (parenthesized_expression "(((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0)" ( (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0" (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0" (parenthesized_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60)" ( (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60" (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1)" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((local_64 != (undefined4 *******)0x0) - 1)" ( (binary_expression "(local_64 != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) - number_literal) ))) & (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) || (binary_expression "((uint)local_64 & (int)local_64 - 1U) != 0" (parenthesized_expression "((uint)local_64 & (int)local_64 - 1U)" ( (binary_expression "(uint)local_64 & (int)local_64 - 1U" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & (binary_expression "(int)local_64 - 1U" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) != number_literal)) )) (compound_statement "{\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" { (expression_statement "uVar11 = gettext("invalid alignment %lu for section \"%s\"");" (assignment_expression "uVar11 = gettext("invalid alignment %lu for section \"%s\"")" identifier = (call_expression "gettext("invalid alignment %lu for section \"%s\"")" identifier (argument_list "("invalid alignment %lu for section \"%s\"")" ( (string_literal ""invalid alignment %lu for section \"%s\""" " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_5;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_5" identifier = (cast_expression "(undefined4 *******)param_5" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "FUN_0028b750(param_3,uVar11,local_64);" (call_expression "FUN_0028b750(param_3,uVar11,local_64)" identifier (argument_list "(param_3,uVar11,local_64)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_64 = (undefined4 *******)0x1;" (assignment_expression "local_64 = (undefined4 *******)0x1" identifier = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) })) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (expression_statement "pppppuVar18 = param_1[10];" (assignment_expression "pppppuVar18 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = (uint)(param_1[9] < local_64);" (assignment_expression "uVar4 = (uint)(param_1[9] < local_64)" identifier = (call_expression "(uint)(param_1[9] < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[9] < local_64)" ( (binary_expression "param_1[9] < local_64" (subscript_expression "param_1[9]" identifier [ number_literal ]) < identifier) )))) ;) (expression_statement "uVar5 = (int)pppppuVar18 - (int)local_60;" (assignment_expression "uVar5 = (int)pppppuVar18 - (int)local_60" identifier = (binary_expression "(int)pppppuVar18 - (int)local_60" (cast_expression "(int)pppppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;" (assignment_expression "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4" identifier = (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" identifier < identifier) || (binary_expression "uVar5 < uVar4" identifier < identifier))) ;) (expression_statement "bVar24 = uVar5 == uVar4;" (assignment_expression "bVar24 = uVar5 == uVar4" identifier = (binary_expression "uVar5 == uVar4" identifier == identifier)) ;) (if_statement "if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" if (parenthesized_expression "(pppppuVar18 < local_60 || uVar5 < uVar4)" ( (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" identifier < identifier) || (binary_expression "uVar5 < uVar4" identifier < identifier)) )) (compound_statement "{\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" { (expression_statement "param_1[9] = local_64;" (assignment_expression "param_1[9] = local_64" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[10] = local_60;" (assignment_expression "param_1[10] = local_60" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_74 = *(undefined4 ********)(iVar17 + 8);" (assignment_expression "local_74 = *(undefined4 ********)(iVar17 + 8)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 8)" * (cast_expression "(undefined4 ********)(iVar17 + 8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" identifier = number_literal) ;) (expression_statement "local_84 = *(uint *)(iVar17 + 0x24);" (assignment_expression "local_84 = *(uint *)(iVar17 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar17 + 0x24)" * (cast_expression "(uint *)(iVar17 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x24)" ( (binary_expression "iVar17 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "ppppppuVar21 = param_5;" (assignment_expression "ppppppuVar21 = param_5" identifier = identifier) ;) (expression_statement "pbVar22 = (byte *)((int)local_68 + -0x157e09);" (assignment_expression "pbVar22 = (byte *)((int)local_68 + -0x157e09)" identifier = (cast_expression "(byte *)((int)local_68 + -0x157e09)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + -0x157e09)" ( (binary_expression "(int)local_68 + -0x157e09" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);" do (compound_statement "{\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *(byte *)ppppppuVar21 < *pbVar22;" (assignment_expression "bVar23 = *(byte *)ppppppuVar21 < *pbVar22" identifier = (binary_expression "*(byte *)ppppppuVar21 < *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" * (cast_expression "(byte *)ppppppuVar21" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *(byte *)ppppppuVar21 == *pbVar22;" (assignment_expression "bVar24 = *(byte *)ppppppuVar21 == *pbVar22" identifier = (binary_expression "*(byte *)ppppppuVar21 == *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" * (cast_expression "(byte *)ppppppuVar21" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);" (assignment_expression "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" identifier = (cast_expression "(undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" ( (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2 + 1" (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2" (cast_expression "(int)ppppppuVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" { (expression_statement "local_74 = (undefined4 *******)((uint)local_74 | 0x30);" (assignment_expression "local_74 = (undefined4 *******)((uint)local_74 | 0x30)" identifier = (cast_expression "(undefined4 *******)((uint)local_74 | 0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)local_74 | 0x30)" ( (binary_expression "(uint)local_74 | 0x30" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "local_84 = 1;" (assignment_expression "local_84 = 1" identifier = number_literal) ;) })) (expression_statement "pppppppuVar16 = local_74;" (assignment_expression "pppppppuVar16 = local_74" identifier = identifier) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "FUN_002c6770(param_1,local_74,0);" (call_expression "FUN_002c6770(param_1,local_74,0)" identifier (argument_list "(param_1,local_74,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" if (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 2) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x92) & 2) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 2)" ( (binary_expression "*(byte *)((int)param_1 + 0x92) & 2" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9773;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9773" identifier = (cast_expression "(undefined4 *******)0x2f9773" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "FUN_002c4e40();" (call_expression "FUN_002c4e40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" if (parenthesized_expression "(((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0))" ( (binary_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)" (parenthesized_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0))" ( (binary_expression "(((uint)local_74 & 0x10) != 0) && (param_7 == 0)" (parenthesized_expression "(((uint)local_74 & 0x10) != 0)" ( (binary_expression "((uint)local_74 & 0x10) != 0" (parenthesized_expression "((uint)local_74 & 0x10)" ( (binary_expression "(uint)local_74 & 0x10" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(*(int *)(*param_6 + 0x14) != 0)" ( (binary_expression "*(int *)(*param_6 + 0x14) != 0" (pointer_expression "*(int *)(*param_6 + 0x14)" * (cast_expression "(int *)(*param_6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x14)" ( (binary_expression "*param_6 + 0x14" (pointer_expression "*param_6" * identifier) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (expression_statement "cVar8 = FUN_0030afd0(*local_94);" (assignment_expression "cVar8 = FUN_0030afd0(*local_94)" identifier = (call_expression "FUN_0030afd0(*local_94)" identifier (argument_list "(*local_94)" ( (pointer_expression "*local_94" * identifier) )))) ;) (if_statement "if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" { (if_statement "if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }" if (parenthesized_expression "(((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0'))" ( (binary_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x92) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 0x10)" ( (binary_expression "*(byte *)((int)param_1 + 0x92) & 0x10" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }" { (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" identifier = (pointer_expression "*local_94" * identifier)) ;) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" if (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0))" ( (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" ( (comma_expression "uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0" (assignment_expression "uVar7 = 1" identifier = number_literal) , (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" { (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" if (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" ( (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ])) == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9b16;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9b16" identifier = (cast_expression "(undefined4 *******)0x2f9b16" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "uVar7 = FUN_002c5030();" (assignment_expression "uVar7 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" else (compound_statement "{\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" { (expression_statement "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" identifier = (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" ( (pointer_expression "*(code *)(*pppuVar2)[0x1c]" * (cast_expression "(code *)(*pppuVar2)[0x1c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(pppuVar2)" ( identifier )))) ;) }))) })) }) (else_clause "else {\n        uVar7 = 1;\n      }" else (compound_statement "{\n        uVar7 = 1;\n      }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) }))) (expression_statement "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);" (assignment_expression "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" identifier = (call_expression "FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" identifier (argument_list "(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" ( identifier , identifier , identifier , identifier , number_literal , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar8 != '\0') {\n        return -1;\n      }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return -1;\n      }" { (return_statement "return -1;" return number_literal ;) })) })) })) (expression_statement "local_78 = (undefined4 ****)0x0;" (assignment_expression "local_78 = (undefined4 ****)0x0" identifier = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25);" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25)" identifier = (call_expression "CONCAT31(local_84._1_3_,bVar25)" identifier (argument_list "(local_84._1_3_,bVar25)" ( (field_expression "local_84._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    /* WARNING: Subroutine does not return */\n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" if (parenthesized_expression "((bVar25 & 0x20) != 0)" ( (binary_expression "(bVar25 & 0x20) != 0" (parenthesized_expression "(bVar25 & 0x20)" ( (binary_expression "bVar25 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    /* WARNING: Subroutine does not return */\n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" { (expression_statement "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);" (assignment_expression "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" identifier = (call_expression "FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" identifier (argument_list "(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" ( (binary_expression "param_1 + 0x2d" identifier + number_literal) , identifier , number_literal , identifier , identifier , number_literal , number_literal )))) ;) (if_statement "if (lVar26 != -1) {\n      return lVar26;\n    }" if (parenthesized_expression "(lVar26 != -1)" ( (binary_expression "lVar26 != -1" identifier != number_literal) )) (compound_statement "{\n      return lVar26;\n    }" { (return_statement "return lVar26;" return identifier ;) })) (expression_statement "pppppuVar18 = param_1[8];" (assignment_expression "pppppuVar18 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = gettext(local_68 + -0x55fdf);" (assignment_expression "uVar11 = gettext(local_68 + -0x55fdf)" identifier = (call_expression "gettext(local_68 + -0x55fdf)" identifier (argument_list "(local_68 + -0x55fdf)" ( (binary_expression "local_68 + -0x55fdf" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0023b7e0(uVar11,pppppuVar18);" (call_expression "FUN_0023b7e0(uVar11,pppppuVar18)" identifier (argument_list "(uVar11,pppppuVar18)" ( identifier , identifier ))) ;) })) (expression_statement "local_88 = (undefined4 *******)param_1[4];" (assignment_expression "local_88 = (undefined4 *******)param_1[4]" identifier = (cast_expression "(undefined4 *******)param_1[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "local_8c = (undefined4 *******)param_1[3];" (assignment_expression "local_8c = (undefined4 *******)param_1[3]" identifier = (cast_expression "(undefined4 *******)param_1[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar16 = local_8c;" (assignment_expression "pppppppuVar16 = local_8c" identifier = identifier) ;) (expression_statement "pppppppuVar9 = local_88;" (assignment_expression "pppppppuVar9 = local_88" identifier = identifier) ;) (if_statement "if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" if (parenthesized_expression "(local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0" (binary_expression "local_60 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) || (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" { (expression_statement "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);" (assignment_expression "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" identifier = (cast_expression "(undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)local_8c - 1U) + (int)local_64)" ( (binary_expression "((int)local_8c - 1U) + (int)local_64" (parenthesized_expression "((int)local_8c - 1U)" ( (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);" (assignment_expression "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" identifier = (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64)" (binary_expression "(int)local_88 +\n               (int)local_60" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((int)local_8c - 1U,(uint)local_64)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_8c - 1U,(uint)local_64)" identifier (argument_list "((int)local_8c - 1U,(uint)local_64)" ( (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) , (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((local_8c != (undefined4 *******)0x0) - 1)" ( (binary_expression "(local_8c != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_8c != (undefined4 *******)0x0)" ( (binary_expression "local_8c != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) - number_literal) )))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64)" identifier = (cast_expression "(undefined4 *******)((uint)local_94 & -(int)local_64)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)local_94 & -(int)local_64)" ( (binary_expression "(uint)local_94 & -(int)local_64" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)local_64" - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));" (assignment_expression "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" identifier = (cast_expression "(undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" ( (binary_expression "local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" identifier & (unary_expression "-((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" - (parenthesized_expression "((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" ( (binary_expression "(int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(local_64 != (undefined4 *******)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )))) )))) )))) ;) })) (if_statement "if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" if (parenthesized_expression "(((uint)param_1[7] & 2) != 0)" ( (binary_expression "((uint)param_1[7] & 2) != 0" (parenthesized_expression "((uint)param_1[7] & 2)" ( (binary_expression "(uint)param_1[7] & 2" (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1" identifier = (cast_expression "(undefined4 *******)param_1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) comment (expression_statement "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);" (call_expression "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" identifier (argument_list "((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" ( (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_68 + -0x55928" identifier + number_literal) ))) ;) })) (expression_statement "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);" (assignment_expression "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16)" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)((int)local_7c + (int)pppppppuVar16)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_7c + (int)pppppppuVar16)" ( (binary_expression "(int)local_7c + (int)pppppppuVar16" (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));" (assignment_expression "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" ( (binary_expression "(int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_7c,(uint)pppppppuVar16)" identifier (argument_list "((uint)local_7c,(uint)pppppppuVar16)" ( (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pppppppuVar16" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (if_statement "if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" if (parenthesized_expression "(((bVar25 & 1) == 0) && ((char)local_6c == '\0'))" ( (binary_expression "((bVar25 & 1) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((bVar25 & 1) == 0)" ( (binary_expression "(bVar25 & 1) == 0" (parenthesized_expression "(bVar25 & 1)" ( (binary_expression "bVar25 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" if (parenthesized_expression "(((uint)local_74 & 4) == 0)" ( (binary_expression "((uint)local_74 & 4) == 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }" { (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;" if (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9c88;" goto statement_identifier ;)) }) (else_clause "else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" else (compound_statement "{\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" identifier = (pointer_expression "*local_94" * identifier)) ;) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" if (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) == '\0')" ( (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) == '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" * (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar2[1] + 0xe)" ( (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar2[1]" identifier [ number_literal ])) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }" { (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;" if (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9bab;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" else (compound_statement "{\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" { (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" if (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0))" ( (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" ( (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" { (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" if (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" ( (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ])) == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9e18;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9e18" identifier = (cast_expression "(undefined4 *******)0x2f9e18" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" else (compound_statement "{\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" { (expression_statement "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" identifier = (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" ( (pointer_expression "*(code *)(*pppuVar2)[0x1c]" * (cast_expression "(code *)(*pppuVar2)[0x1c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(pppuVar2)" ( identifier )))) ;) }))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" if (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" ( (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" * (cast_expression "(char *)(param_2 + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1cd)" ( (binary_expression "param_2 + 0x1cd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" { (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (goto_statement "goto LAB_002f9834;" goto statement_identifier ;) })) })) (if_statement "if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" if (parenthesized_expression "(param_1[0x21] != param_1[0x20])" ( (binary_expression "param_1[0x21] != param_1[0x20]" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) != (subscript_expression "param_1[0x20]" identifier [ number_literal ])) )) (compound_statement "{\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1[0x20];" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1[0x20]" identifier = (cast_expression "(undefined4 *******)param_1[0x20]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x20]" identifier [ number_literal ]))) ;) comment (expression_statement "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);" (call_expression "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" identifier (argument_list "((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" ( (binary_expression "(int)local_68 + -0x1582f5" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_68 + -0x55b24" identifier + number_literal) ))) ;) })) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);" (assignment_expression "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" identifier = (cast_expression "(undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "CONCAT31(local_74._1_3_,bVar25)" identifier (argument_list "(local_74._1_3_,bVar25)" ( (field_expression "local_74._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(byte *)((int)param_1 + 0x92) = bVar25 | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x92) = bVar25 | 1" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar25 | 1" identifier | number_literal)) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1" identifier = (binary_expression "CONCAT31(local_84._1_3_,bVar25) | 1" (call_expression "CONCAT31(local_84._1_3_,bVar25)" identifier (argument_list "(local_84._1_3_,bVar25)" ( (field_expression "local_84._1_3_" identifier . field_identifier) , identifier ))) | number_literal)) ;) }))) }))) (labeled_statement "LAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;" statement_identifier : (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (if_statement "if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       ))" ( (binary_expression "((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" (parenthesized_expression "((local_84 & 0x10) == 0)" ( (binary_expression "(local_84 & 0x10) == 0" (parenthesized_expression "(local_84 & 0x10)" ( (binary_expression "local_84 & 0x10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" ( (comma_expression "pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (comma_expression "puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) , (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" { (labeled_statement "LAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;" statement_identifier : (expression_statement "pppppppuVar19 = (undefined4 *******)puVar20;" (assignment_expression "pppppppuVar19 = (undefined4 *******)puVar20" identifier = (cast_expression "(undefined4 *******)puVar20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "pppppuVar18 = param_1[0x1b];" (assignment_expression "pppppuVar18 = param_1[0x1b]" identifier = (subscript_expression "param_1[0x1b]" identifier [ number_literal ])) ;) (if_statement "if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" if (parenthesized_expression "((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         ))" ( (binary_expression "(param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" (parenthesized_expression "(param_1[0x1c] == pppppuVar18)" ( (binary_expression "param_1[0x1c] == pppppuVar18" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" ( (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))" ( (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0)" (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x91) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) && (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 8) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x91) & 8) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 8)" ( (binary_expression "*(byte *)((int)param_1 + 0x91) & 8" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" { (expression_statement "ppppuVar3 = local_68[0x1f2];" (assignment_expression "ppppuVar3 = local_68[0x1f2]" identifier = (subscript_expression "local_68[0x1f2]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;" if (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f1a;" goto statement_identifier ;)) (if_statement "if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(ppppuVar3[2] + 0x91f) == '\0')" ( (binary_expression "*(char *)(ppppuVar3[2] + 0x91f) == '\0'" (pointer_expression "*(char *)(ppppuVar3[2] + 0x91f)" * (cast_expression "(char *)(ppppuVar3[2] + 0x91f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar3[2] + 0x91f)" ( (binary_expression "ppppuVar3[2] + 0x91f" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" { (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" identifier = (cast_expression "(undefined1 *)pppppppuVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" statement_identifier : (expression_statement "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar20 + -4)" * (cast_expression "(undefined4 ********)(puVar20 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;" (assignment_expression "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7" (pointer_expression "*(undefined4 ******)(puVar20 + -8)" * (cast_expression "(undefined4 ******)(puVar20 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "local_68 + -0x558c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" if (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" ( (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" { (expression_statement "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];" (assignment_expression "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c]" identifier = (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" if (parenthesized_expression "(pppppuVar18 == local_68 + -0x15e2d0)" ( (binary_expression "pppppuVar18 == local_68 + -0x15e2d0" identifier == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" else (compound_statement "{\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" { (expression_statement "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;" (assignment_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2" (pointer_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ****)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar8 = (*(code *)pppppuVar18)();" (assignment_expression "cVar8 = (*(code *)pppppuVar18)()" identifier = (call_expression "(*(code *)pppppuVar18)()" (parenthesized_expression "(*(code *)pppppuVar18)" ( (pointer_expression "*(code *)pppppuVar18" * (cast_expression "(code *)pppppuVar18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" if (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" ( (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" * (cast_expression "(char *)(param_2 + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1cd)" ( (binary_expression "param_2 + 0x1cd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" { (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })) })) })) })) })) }) (else_clause "else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" else (compound_statement "{\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" { (labeled_statement "LAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" statement_identifier : (if_statement "if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" if (parenthesized_expression "(((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0))" ( (binary_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)" (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) == (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((local_84 & 1) != 0)" ( (binary_expression "(local_84 & 1) != 0" (parenthesized_expression "(local_84 & 1)" ( (binary_expression "local_84 & 1" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_002f9852;" goto statement_identifier ;))) (if_statement "if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" if (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" { (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" if (parenthesized_expression "(((uint)local_74 & 4) != 0)" ( (binary_expression "((uint)local_74 & 4) != 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (labeled_statement "LAB_002f9bab:\n        pppuVar2 = (*local_94)[3];" statement_identifier : (expression_statement "pppuVar2 = (*local_94)[3];" (assignment_expression "pppuVar2 = (*local_94)[3]" identifier = (subscript_expression "(*local_94)[3]" (parenthesized_expression "(*local_94)" ( (pointer_expression "*local_94" * identifier) )) [ number_literal ])) ;)) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" if (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) != '\0')" ( (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) != '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" * (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar2[1] + 0xe)" ( (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar2[1]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" { (expression_statement "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);" (assignment_expression "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar16 - (int)local_8c)" ( (binary_expression "(int)pppppppuVar16 - (int)local_8c" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);" (assignment_expression "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" identifier = (binary_expression "(int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" ( (binary_expression "-(uint)(pppppppuVar16 < local_8c) - (int)local_88" (unary_expression "-(uint)(pppppppuVar16 < local_8c)" - (call_expression "(uint)(pppppppuVar16 < local_8c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppuVar16 < local_8c)" ( (binary_expression "pppppppuVar16 < local_8c" identifier < identifier) )))) - (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" if (parenthesized_expression "(param_1[0x1c] == param_1[0x1b])" ( (binary_expression "param_1[0x1c] == param_1[0x1b]" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == (subscript_expression "param_1[0x1b]" identifier [ number_literal ])) )) (compound_statement "{\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }" { (expression_statement "local_34 = local_8c;" (assignment_expression "local_34 = local_8c" identifier = identifier) ;) (expression_statement "local_30 = local_88;" (assignment_expression "local_30 = local_88" identifier = identifier) ;) (if_statement "if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppuStack_a0 = local_88;\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" { (expression_statement "pppppppuStack_a0 = local_88;" (assignment_expression "pppppppuStack_a0 = local_88" identifier = identifier) ;) comment (expression_statement "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);" (call_expression "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" identifier (argument_list "(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" ( (binary_expression "local_68 + -0x672d3" identifier + number_literal) , number_literal , (binary_expression "local_68 + -0x55b28" identifier + number_literal) ))) ;) })) (expression_statement "local_2c = local_74;" (assignment_expression "local_2c = local_74" identifier = identifier) ;) (expression_statement "FUN_002e83d0(param_1 + 0x20,&local_34);" (call_expression "FUN_002e83d0(param_1 + 0x20,&local_34)" identifier (argument_list "(param_1 + 0x20,&local_34)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" else (compound_statement "{\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" { (expression_statement "pppppppuVar19 = local_74;" (assignment_expression "pppppppuVar19 = local_74" identifier = identifier) ;) (expression_statement "local_74 = &local_4c;" (assignment_expression "local_74 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);" (call_expression "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19)" (parenthesized_expression "(*(code *)(*pppuVar2)[6])" ( (pointer_expression "*(code *)(*pppuVar2)[6]" * (cast_expression "(code *)(*pppuVar2)[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[6]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(&local_4c,pppuVar2,pppppppuVar19)" ( (pointer_expression "&local_4c" & identifier) , identifier , identifier ))) ;) comment (expression_statement "uVar11 = FUN_003ac4d0(0x44);" (assignment_expression "uVar11 = FUN_003ac4d0(0x44)" identifier = (call_expression "FUN_003ac4d0(0x44)" identifier (argument_list "(0x44)" ( number_literal )))) ;) (expression_statement "local_84 = uVar11;" (assignment_expression "local_84 = uVar11" identifier = identifier) ;) comment (expression_statement "FUN_002e80a0(uVar11,local_74,1,0);" (call_expression "FUN_002e80a0(uVar11,local_74,1,0)" identifier (argument_list "(uVar11,local_74,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_34 = (undefined4 *******)0xffffffff;" (assignment_expression "local_34 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_2c = (undefined4 *******)0x0;" (assignment_expression "local_2c = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = uVar11;" (assignment_expression "local_24 = uVar11" identifier = identifier) ;) comment (expression_statement "FUN_002e2370(param_1 + 0x1b,&local_34);" (call_expression "FUN_002e2370(param_1 + 0x1b,&local_34)" identifier (argument_list "(param_1 + 0x1b,&local_34)" ( (binary_expression "param_1 + 0x1b" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }" if (parenthesized_expression "((undefined4 ********)local_4c != &local_44)" ( (binary_expression "(undefined4 ********)local_4c != &local_44" (cast_expression "(undefined4 ********)local_4c" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier) != (pointer_expression "&local_44" & identifier)) )) (compound_statement "{\n              FUN_003ae080(local_4c);\n            }" { (expression_statement "FUN_003ae080(local_4c);" (call_expression "FUN_003ae080(local_4c)" identifier (argument_list "(local_4c)" ( identifier ))) ;) })) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pppppppuVar19 = &pppppppuStack_a0;" (assignment_expression "pppppppuVar19 = &pppppppuStack_a0" identifier = (pointer_expression "&pppppppuStack_a0" & identifier)) ;) }))) })) })) (labeled_statement "LAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;" statement_identifier : (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" identifier = (cast_expression "(undefined1 *)pppppppuVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((local_84 & 0x10) != 0) goto LAB_002f9862;" if (parenthesized_expression "((local_84 & 0x10) != 0)" ( (binary_expression "(local_84 & 0x10) != 0" (parenthesized_expression "(local_84 & 0x10)" ( (binary_expression "local_84 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002f9862;" goto statement_identifier ;)) (goto_statement "goto LAB_002f9c92;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" statement_identifier : (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_4c = param_4;" (assignment_expression "local_4c = param_4" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_48 = (undefined4 ****)FUN_00442880();" (assignment_expression "local_48 = (undefined4 ****)FUN_00442880()" identifier = (cast_expression "(undefined4 ****)FUN_00442880()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_00442880()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_38 = (undefined4 *******)0x0;" (assignment_expression "local_38 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(param_4 + 1 < (undefined4 *******)0x4)" ( (binary_expression "param_4 + 1 < (undefined4 *******)0x4" (binary_expression "param_4 + 1" identifier + number_literal) < (cast_expression "(undefined4 *******)0x4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_68 + -0x55b2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_44 = local_7c;" (assignment_expression "local_44 = local_7c" identifier = identifier) ;) (expression_statement "local_40 = local_78;" (assignment_expression "local_40 = local_78" identifier = identifier) ;) (expression_statement "local_3c = param_3;" (assignment_expression "local_3c = param_3" identifier = identifier) ;) (expression_statement "pppppuVar18 = local_68;" (assignment_expression "pppppuVar18 = local_68" identifier = identifier) ;) (if_statement "if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(local_68[0x1f2][2] == (undefined4 ***)0x0)" ( (binary_expression "local_68[0x1f2][2] == (undefined4 ***)0x0" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" identifier [ number_literal ]) [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" { (labeled_statement "LAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" statement_identifier : (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_68 + -0x558d2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;" if (parenthesized_expression "(local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0)" ( (binary_expression "local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0" (subscript_expression "local_68[0x1f2][2][0xdb6]" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" identifier [ number_literal ]) [ number_literal ]) [ number_literal ]) == (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_002f9954;" goto statement_identifier ;)) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_74 = &local_34;" (assignment_expression "local_74 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "local_64 = &local_2c;" (assignment_expression "local_64 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_64;" (assignment_expression "local_34 = local_64" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));" (assignment_expression "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" identifier = (cast_expression "(undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "strlen(*(char **)((int)pppppppuVar19 + -0x10))" identifier (argument_list "(*(char **)((int)pppppppuVar19 + -0x10))" ( (pointer_expression "*(char **)((int)pppppppuVar19 + -0x10)" * (cast_expression "(char **)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "local_50 = pppppppuVar10;" (assignment_expression "local_50 = pppppppuVar10" identifier = identifier) ;) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" if (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x10)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)0x10" identifier < (cast_expression "(undefined4 *******)0x10" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }" { (expression_statement "pppppppuVar12 = local_64;" (assignment_expression "pppppppuVar12 = local_64" identifier = identifier) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)0x1)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)0x1" identifier == (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }" { (expression_statement "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);" (assignment_expression "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" identifier = (cast_expression "(undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "CONCAT31(local_2c._1_3_,*(byte *)param_5)" identifier (argument_list "(local_2c._1_3_,*(byte *)param_5)" ( (field_expression "local_2c._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)param_5" * (cast_expression "(byte *)param_5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) }) (else_clause "else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" else (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_002f9d83;" goto statement_identifier ;)))) }) (else_clause "else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" else (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -8) = 0" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *********" type_identifier (abstract_pointer_declarator "*********" * (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_7c = pppppppuVar10;" (assignment_expression "local_7c = pppppppuVar10" identifier = identifier) ;) (expression_statement "local_34 = (undefined4 *******)FUN_003b5790();" (assignment_expression "local_34 = (undefined4 *******)FUN_003b5790()" identifier = (cast_expression "(undefined4 *******)FUN_003b5790()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_003b5790()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = local_50;" (assignment_expression "local_2c = local_50" identifier = identifier) ;) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" identifier = identifier) ;) (expression_statement "pppppppuVar10 = local_7c;" (assignment_expression "pppppppuVar10 = local_7c" identifier = identifier) ;) (labeled_statement "LAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" statement_identifier : (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));" (call_expression "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" identifier (argument_list "(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" ( (pointer_expression "*(void **)((int)pppppppuVar19 + -0x10)" * (cast_expression "(void **)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)pppppppuVar19 + -0xc)" * (cast_expression "(void **)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)pppppppuVar19 + -8)" * (cast_expression "(size_t *)((int)pppppppuVar19 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;" (assignment_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0" (pointer_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50)" * (cast_expression "(undefined1 *)((int)pppppppuVar12 + (int)local_50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar12 + (int)local_50)" ( (binary_expression "(int)pppppppuVar12 + (int)local_50" (cast_expression "(int)pppppppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = param_2;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = param_2" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_00279d90();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_00279d90()" identifier = (cast_expression "(undefined4 *******)FUN_00279d90()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_00279d90()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" if (parenthesized_expression "(local_34 != local_64)" ( (binary_expression "local_34 != local_64" identifier != identifier) )) (compound_statement "{\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" { (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_64 = pppppppuVar10;" (assignment_expression "local_64 = pppppppuVar10" identifier = identifier) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar10 = local_64;" (assignment_expression "pppppppuVar10 = local_64" identifier = identifier) ;) })) (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" { (expression_statement "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;" (assignment_expression "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "local_38 = pppppppuVar10;" (assignment_expression "local_38 = pppppppuVar10" identifier = identifier) ;) })) (labeled_statement "LAB_002f9954:\n  pppppuVar18 = param_1[0x1c];" statement_identifier : (expression_statement "pppppuVar18 = param_1[0x1c];" (assignment_expression "pppppuVar18 = param_1[0x1c]" identifier = (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) ;)) (if_statement "if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" if (parenthesized_expression "(pppppuVar18 != param_1[0x1d])" ( (binary_expression "pppppuVar18 != param_1[0x1d]" identifier != (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) )) (compound_statement "{\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" { (expression_statement "*pppppuVar18 = local_4c;" (assignment_expression "*pppppuVar18 = local_4c" (pointer_expression "*pppppuVar18" * identifier) = identifier) ;) (expression_statement "pppppuVar18[1] = local_48;" (assignment_expression "pppppuVar18[1] = local_48" (subscript_expression "pppppuVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[2] = local_44;" (assignment_expression "pppppuVar18[2] = local_44" (subscript_expression "pppppuVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[3] = local_40;" (assignment_expression "pppppuVar18[3] = local_40" (subscript_expression "pppppuVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[4] = local_3c;" (assignment_expression "pppppuVar18[4] = local_3c" (subscript_expression "pppppuVar18[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[5] = local_38;" (assignment_expression "pppppuVar18[5] = local_38" (subscript_expression "pppppuVar18[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1c] = pppppuVar18 + 6;" (assignment_expression "param_1[0x1c] = pppppuVar18 + 6" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = (binary_expression "pppppuVar18 + 6" identifier + number_literal)) ;) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 *********" type_identifier (abstract_pointer_declarator "*********" * (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x1b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002de9c0();" (call_expression "FUN_002de9c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original name: add_input_section<32, false>\n   DWARF original prototype: off_t add_input_section<32,_false>(Output_section * this, Layout *\n   layout, Sized_relobj_file<32,_false> * object, uint shndx, char * secname, Shdr<32,_false> *\n   shdr, uint reloc_shndx, bool have_sections_script) */\n\noff_t __thiscall\ngold::Output_section::add_input_section<32,_false>\n          (Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,\n          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)\n\n{\n  _Rb_tree_header *p_Var1;\n  _Base_ptr *pp_Var2;\n  Compressed_section_map *pCVar3;\n  _Base_ptr p_Var4;\n  Output_section *pOVar5;\n  anon_union_8_2_227b06d7_for_u1_ *paVar6;\n  Parameters *pPVar7;\n  Target *pTVar8;\n  _func_int_varargs *p_Var9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 keeps_input_sections;\n  char cVar12;\n  Output_section *pOVar13;\n  size_t sVar14;\n  uint uVar15;\n  char *pcVar16;\n  char *format;\n  anon_union_4_4_139239c7_for_u2_ this_00;\n  anon_union_8_2_227b06d7_for_u1_ *paVar17;\n  _Base_ptr p_Var18;\n  _Base_ptr p_Var19;\n  int iVar20;\n  anon_union_8_2_227b06d7_for_u1_ *paVar21;\n  undefined4 extraout_ECX;\n  Shdr_data<32> *pSVar22;\n  pointer pIVar23;\n  Output_section **ppOVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  byte *pbVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  off_t oVar31;\n  Output_section *pOStack_a0;\n  Output_section *in_stack_ffffff64;\n  undefined4 in_stack_ffffff68;\n  undefined4 in_stack_ffffff6c;\n  Parameters **ppPVar32;\n  uint local_84;\n  uint local_7c;\n  anon_union_8_2_227b06d7_for_u1_ *local_74;\n  undefined **local_68;\n  uint local_64;\n  uint local_60;\n  size_type __dnew;\n  string fill_data;\n  Input_section local_34;\n  \n  bVar30 = 0;\n  local_60 = 0;\n  pSVar22 = shdr->p_;\n  local_7c = pSVar22->sh_size;\n  local_64 = pSVar22->sh_addralign;\n  pCVar3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_;\n  if (pCVar3 != (Compressed_section_map *)0x0) {\n    p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header;\n    p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n    p_Var18 = &p_Var1->_M_header;\n    if (p_Var4 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);\nLAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }\n    }\n  }\n  if (((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0 || (local_64 & local_64 - 1) != 0) {\n    pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"");\n    pOStack_a0 = (Output_section *)secname;\n    Object::error((Object *)object,pcVar16,local_64);\n    local_64 = 1;\n    local_60 = 0;\n    pSVar22 = shdr->p_;\n  }\n  local_68 = &_GLOBAL_OFFSET_TABLE_;\n  ppOVar24 = (Output_section **)&stack0xffffff64;\n  puVar25 = (undefined4 *)&stack0xffffff64;\n  uVar15 = *(uint *)((int)&this->addralign_ + 4);\n  uVar10 = (uint)((uint)this->addralign_ < local_64);\n  uVar11 = uVar15 - local_60;\n  bVar28 = uVar15 < local_60 || uVar11 < uVar10;\n  bVar29 = uVar11 == uVar10;\n  if (uVar15 < local_60 || uVar11 < uVar10) {\n    *(uint *)&this->addralign_ = local_64;\n    *(uint *)((int)&this->addralign_ + 4) = local_60;\n  }\n  local_74 = (anon_union_8_2_227b06d7_for_u1_ *)pSVar22->sh_flags;\n  iVar20 = 0xb;\n  local_84 = pSVar22->sh_entsize;\n  pbVar26 = (byte *)secname;\n  pbVar27 = (byte *)".debug_str";\n  do {\n    if (iVar20 == 0) break;\n    iVar20 = iVar20 + -1;\n    bVar28 = *pbVar26 < *pbVar27;\n    bVar29 = *pbVar26 == *pbVar27;\n    pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1;\n  } while (bVar29);\n  if ((!bVar28 && !bVar29) == bVar28) {\n    local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  update_flags_for_input_section(this,ZEXT48(local_74));\n  if ((this->field_0x92 & 2) == 0) {\n    pOStack_a0 = (Output_section *)0x2f9773;\n    set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68));\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)) && (shdr->p_->sh_size != 0)) {\n    ppPVar32 = &parameters;\n    bVar28 = Parameters::incremental(parameters);\n    if (!bVar28) {\n      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }\n      bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);\n      if (bVar28) {\n        return -1;\n      }\n    }\n  }\n  bVar30 = this->field_0x92;\n  if ((bVar30 & 0x20) != 0) {\n    oVar31 = Free_list::allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                );\n    if (oVar31 != -1) {\n      return oVar31;\n    }\n    pcVar16 = this->name_;\n    format = (char *)gettext("out of patch space in section %s; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n    gold_fallback(format,pcVar16);\n  }\n  pOVar5 = *(Output_section **)((int)&(this->super_Output_data).data_size_ + 4);\n  paVar6 = *(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_;\n  paVar21 = paVar6;\n  pOVar13 = pOVar5;\n  if (local_60 != 0 || local_64 != 0) {\n    paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64);\n    pOVar13 = (Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)));\n  }\n  if (((this->super_Output_data).field_0x1c & 2) != 0) {\n    pOStack_a0 = this;\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(uint *)&(this->super_Output_data).data_size_ = local_7c + (int)paVar21;\n  *(uint *)((int)&(this->super_Output_data).data_size_ + 4) =\n       (int)&(pOVar13->super_Output_data)._vptr_Output_data + (uint)CARRY4(local_7c,(uint)paVar21);\n  if (((bVar30 & 1) != 0) || (have_sections_script)) {\nLAB_002f9834:\n    if (((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))\n    goto LAB_002f9852;\n    if (!have_sections_script) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar25 = ppOVar24;\n      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\n  else {\n    if (((uint)local_74 & 4) == 0) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }\n    else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }\nLAB_002f9852:\n    ppOVar24 = (Output_section **)&stack0xffffff64;\n    if (((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)) {\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_002f9862:\n  *(uint *)((int)ppOVar24 + -0xc) = local_60;\n  *(uint *)((int)ppOVar24 + -0x10) = local_64;\n  fill_data._M_dataplus._M_p = (pointer)shndx;\n  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9879;\n  fill_data._M_string_length = __ffsdi2();\n  fill_data.field_2._12_4_ = 0;\n  if (shndx + 4 < 4) {\n    *(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX;\n    *(char **)((int)ppOVar24 + -8) = "Input_section";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\n  }\n  fill_data.field_2._M_allocated_capacity = local_7c;\n  fill_data.field_2._4_4_ = 0;\n  fill_data.field_2._8_4_ = object;\n  pIVar23 = (pointer)local_68;\n  if (parameters->options_ == (General_options *)0x0) {\nLAB_002f9f1a:\n    *(pointer *)((int)ppOVar24 + -4) = pIVar23;\n    *(char **)((int)ppOVar24 + -8) = "options";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\n  }\n  if ((parameters->options_->section_ordering_file_).value == (char *)0x0) goto LAB_002f9954;\n  *(char **)((int)ppOVar24 + -0x10) = secname;\n  paVar6 = &local_34.u1_;\n  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f98e5;\n  local_34.shndx_ = (uint)paVar6;\n  sVar14 = strlen(*(char **)((int)ppOVar24 + -0x10));\n  __dnew = sVar14;\n  if (sVar14 < 0x10) {\n    paVar17 = paVar6;\n    if (sVar14 == 1) {\n      local_34.u1_.data_size._0_1_ = *secname;\n    }\n    else if (sVar14 != 0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)ppOVar24 + -8) = 0;\n    *(size_type **)((int)ppOVar24 + -0xc) = &__dnew;\n    *(Input_section **)((int)ppOVar24 + -0x10) = &local_34;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;\n    local_34.shndx_ =\n         std::string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));\n    local_34.u1_.entsize._0_4_ = __dnew;\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\nLAB_002f9d83:\n    *(size_t *)((int)ppOVar24 + -8) = sVar14;\n    *(char **)((int)ppOVar24 + -0xc) = secname;\n    *(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8));\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\n  }\n  *(undefined1 *)((int)paVar17 + __dnew) = 0;\n  *(Input_section **)((int)ppOVar24 + -0xc) = &local_34;\n  *(Layout **)((int)ppOVar24 + -0x10) = layout;\n                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */\n  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9923;\n  local_34.p2align_ = __dnew;\n  uVar15 = Layout::find_section_order_index\n                     (*(Layout **)((int)ppOVar24 + -0x10),*(string **)((int)ppOVar24 + -0xc));\n  if ((anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_ != paVar6) {\n    *(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d;\n    operator_delete(*(void **)((int)ppOVar24 + -0x10));\n  }\n  if (uVar15 != 0) {\n    this->field_0x91 = this->field_0x91 | 2;\n    fill_data.field_2._12_4_ = uVar15;\n  }\nLAB_002f9954:\n  pIVar23 = (this->input_sections_).\n            super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ._M_impl._M_finish;\n  if (pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n      ._M_impl._M_end_of_storage) {\n    pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p;\n    pIVar23->p2align_ = fill_data._M_string_length;\n    *(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity;\n    *(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_;\n    pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_;\n    pIVar23->section_order_index_ = fill_data.field_2._12_4_;\n    (this->input_sections_).\n    super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;\n    return CONCAT44(pOVar13,paVar21);\n  }\n  *(string **)((int)ppOVar24 + -8) = &fill_data;\n  *(pointer *)((int)ppOVar24 + -0xc) = pIVar23;\n  *(Input_section_list **)((int)ppOVar24 + -0x10) = &this->input_sections_;\n  *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9dbc;\n  std::\n  vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ::_M_realloc_insert<const_gold::Output_section::Input_section&>\n            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));\n  return CONCAT44(pOVar13,paVar21);\n}\n\n" comment comment comment comment (declaration "off_t __thiscall\ngold::Output_section::add_input_section<32,_false>\n          (Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,\n          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)\n\n{\n  _Rb_tree_header *p_Var1;" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>\n          (Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,\n          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)\n\n{\n  _Rb_tree_header" (function_declarator "_false>\n          (Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,\n          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)" identifier (ERROR ">" >) (parameter_list "(Output_section *this,Layout *layout,Sized_relobj_file<32,_false> *object,uint shndx,\n          char *secname,Shdr<32,_false> *shdr,uint reloc_shndx,bool have_sections_script)" ( (parameter_declaration "Output_section *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "char *secname" primitive_type (pointer_declarator "*secname" * identifier)) , (parameter_declaration "Shdr" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *shdr" type_identifier (ERROR ">" >) (pointer_declarator "*shdr" * identifier)) , (parameter_declaration "uint reloc_shndx" type_identifier identifier) , (parameter_declaration "bool have_sections_script" primitive_type identifier) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Base_ptr *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "Compressed_section_map *pCVar3;" type_identifier (pointer_declarator "*pCVar3" * identifier) ;) (declaration "_Base_ptr p_Var4;" type_identifier identifier ;) (declaration "Output_section *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "anon_union_8_2_227b06d7_for_u1_ *paVar6;" type_identifier (pointer_declarator "*paVar6" * identifier) ;) (declaration "Parameters *pPVar7;" type_identifier (pointer_declarator "*pPVar7" * identifier) ;) (declaration "Target *pTVar8;" type_identifier (pointer_declarator "*pTVar8" * identifier) ;) (declaration "_func_int_varargs *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 keeps_input_sections;" type_identifier identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "Output_section *pOVar13;" type_identifier (pointer_declarator "*pOVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "anon_union_4_4_139239c7_for_u2_ this_00;" type_identifier identifier ;) (declaration "anon_union_8_2_227b06d7_for_u1_ *paVar17;" type_identifier (pointer_declarator "*paVar17" * identifier) ;) (declaration "_Base_ptr p_Var18;" type_identifier identifier ;) (declaration "_Base_ptr p_Var19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "anon_union_8_2_227b06d7_for_u1_ *paVar21;" type_identifier (pointer_declarator "*paVar21" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (expression_statement "Shdr_data<32> *pSVar22;" (update_expression "Shdr_data<32> *pSVar22" (binary_expression "Shdr_data<32> *pSVar22" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*pSVar22" * identifier)) --) ;) (declaration "pointer pIVar23;" type_identifier identifier ;) (declaration "Output_section **ppOVar24;" type_identifier (pointer_declarator "**ppOVar24" * (pointer_declarator "*ppOVar24" * identifier)) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "off_t oVar31;" type_identifier identifier ;) (declaration "Output_section *pOStack_a0;" type_identifier (pointer_declarator "*pOStack_a0" * identifier) ;) (declaration "Output_section *in_stack_ffffff64;" type_identifier (pointer_declarator "*in_stack_ffffff64" * identifier) ;) (declaration "undefined4 in_stack_ffffff68;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff6c;" type_identifier identifier ;) (declaration "Parameters **ppPVar32;" type_identifier (pointer_declarator "**ppPVar32" * (pointer_declarator "*ppPVar32" * identifier)) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "anon_union_8_2_227b06d7_for_u1_ *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "size_type __dnew;" type_identifier identifier ;) (declaration "string fill_data;" type_identifier identifier ;) (declaration "Input_section local_34;" type_identifier identifier ;) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "pSVar22 = shdr->p_;" (assignment_expression "pSVar22 = shdr->p_" identifier = (field_expression "shdr->p_" identifier -> field_identifier)) ;) (expression_statement "local_7c = pSVar22->sh_size;" (assignment_expression "local_7c = pSVar22->sh_size" identifier = (field_expression "pSVar22->sh_size" identifier -> field_identifier)) ;) (expression_statement "local_64 = pSVar22->sh_addralign;" (assignment_expression "local_64 = pSVar22->sh_addralign" identifier = (field_expression "pSVar22->sh_addralign" identifier -> field_identifier)) ;) (expression_statement "pCVar3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_;" (assignment_expression "pCVar3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_" identifier = (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pCVar3 != (Compressed_section_map *)0x0) {\n    p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header;\n    p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n    p_Var18 = &p_Var1->_M_header;\n    if (p_Var4 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);\nLAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }\n    }\n  }" if (parenthesized_expression "(pCVar3 != (Compressed_section_map *)0x0)" ( (binary_expression "pCVar3 != (Compressed_section_map *)0x0" identifier != (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header;\n    p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n    p_Var18 = &p_Var1->_M_header;\n    if (p_Var4 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);\nLAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }\n    }\n  }" { (expression_statement "p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pCVar3->_M_t)._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pCVar3->_M_t)._M_impl.super__Rb_tree_header" & (field_expression "(pCVar3->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar3->_M_t)._M_impl" (parenthesized_expression "(pCVar3->_M_t)" ( (field_expression "pCVar3->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var4 = (pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pCVar3->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar3->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar3->_M_t)._M_impl" (parenthesized_expression "(pCVar3->_M_t)" ( (field_expression "pCVar3->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var18 = &p_Var1->_M_header;" (assignment_expression "p_Var18 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var4 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);\nLAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }\n    }" if (parenthesized_expression "(p_Var4 != (_Base_ptr)0x0)" ( (binary_expression "p_Var4 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n      do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);\nLAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }\n    }" { (do_statement "do {\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      } while (p_Var19->_M_left != (_Base_ptr)0x0);" do (compound_statement "{\n        while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }\n        p_Var4 = p_Var19->_M_left;\n        p_Var18 = p_Var19;\n      }" { (while_statement "while (p_Var19 = p_Var4, p_Var19[1]._M_color < shndx) {\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }" while (parenthesized_expression "(p_Var19 = p_Var4, p_Var19[1]._M_color < shndx)" ( (comma_expression "p_Var19 = p_Var4, p_Var19[1]._M_color < shndx" (assignment_expression "p_Var19 = p_Var4" identifier = identifier) , (binary_expression "p_Var19[1]._M_color < shndx" (field_expression "p_Var19[1]._M_color" (subscript_expression "p_Var19[1]" identifier [ number_literal ]) . field_identifier) < identifier)) )) (compound_statement "{\n          pp_Var2 = &p_Var19->_M_right;\n          p_Var4 = *pp_Var2;\n          p_Var19 = p_Var18;\n          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;\n        }" { (expression_statement "pp_Var2 = &p_Var19->_M_right;" (assignment_expression "pp_Var2 = &p_Var19->_M_right" identifier = (pointer_expression "&p_Var19->_M_right" & (field_expression "p_Var19->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var4 = *pp_Var2;" (assignment_expression "p_Var4 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;) (expression_statement "p_Var19 = p_Var18;" (assignment_expression "p_Var19 = p_Var18" identifier = identifier) ;) (if_statement "if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_002f96c8;" if (parenthesized_expression "(*pp_Var2 == (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 == (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_002f96c8;" goto statement_identifier ;)) })) (expression_statement "p_Var4 = p_Var19->_M_left;" (assignment_expression "p_Var4 = p_Var19->_M_left" identifier = (field_expression "p_Var19->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var18 = p_Var19;" (assignment_expression "p_Var18 = p_Var19" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var19->_M_left != (_Base_ptr)0x0)" ( (binary_expression "p_Var19->_M_left != (_Base_ptr)0x0" (field_expression "p_Var19->_M_left" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_002f96c8:\n      if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }" statement_identifier : (if_statement "if ((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)) {\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }" if (parenthesized_expression "((p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx))" ( (binary_expression "(p_Var1 != (_Rb_tree_header *)p_Var19) &&\n         (((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)" (parenthesized_expression "(p_Var1 != (_Rb_tree_header *)p_Var19)" ( (binary_expression "p_Var1 != (_Rb_tree_header *)p_Var19" identifier != (cast_expression "(_Rb_tree_header *)p_Var19" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx)" ( (binary_expression "((_Rb_tree_header *)p_Var19)->_M_node_count <= shndx" (field_expression "((_Rb_tree_header *)p_Var19)->_M_node_count" (parenthesized_expression "((_Rb_tree_header *)p_Var19)" ( (cast_expression "(_Rb_tree_header *)p_Var19" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) <= identifier) ))) )) (compound_statement "{\n        local_7c = *(uint *)((int)p_Var19 + 0x14);\n        local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);\n        local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);\n      }" { (expression_statement "local_7c = *(uint *)((int)p_Var19 + 0x14);" (assignment_expression "local_7c = *(uint *)((int)p_Var19 + 0x14)" identifier = (pointer_expression "*(uint *)((int)p_Var19 + 0x14)" * (cast_expression "(uint *)((int)p_Var19 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var19 + 0x14)" ( (binary_expression "(int)p_Var19 + 0x14" (cast_expression "(int)p_Var19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10);" (assignment_expression "local_60 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10)" identifier = (pointer_expression "*(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10)" * (cast_expression "(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var19 + 0x14) + 0x10)" ( (binary_expression "(undefined1 *)((int)p_Var19 + 0x14) + 0x10" (cast_expression "(undefined1 *)((int)p_Var19 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var19 + 0x14)" ( (binary_expression "(int)p_Var19 + 0x14" (cast_expression "(int)p_Var19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) ))))) ;) (expression_statement "local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc);" (assignment_expression "local_64 = *(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc)" identifier = (pointer_expression "*(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc)" * (cast_expression "(uint *)((undefined1 *)((int)p_Var19 + 0x14) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var19 + 0x14) + 0xc)" ( (binary_expression "(undefined1 *)((int)p_Var19 + 0x14) + 0xc" (cast_expression "(undefined1 *)((int)p_Var19 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var19 + 0x14)" ( (binary_expression "(int)p_Var19 + 0x14" (cast_expression "(int)p_Var19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) ))))) ;) }))) })) })) (if_statement "if (((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0 || (local_64 & local_64 - 1) != 0) {\n    pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"");\n    pOStack_a0 = (Output_section *)secname;\n    Object::error((Object *)object,pcVar16,local_64);\n    local_64 = 1;\n    local_60 = 0;\n    pSVar22 = shdr->p_;\n  }" if (parenthesized_expression "(((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0 || (local_64 & local_64 - 1) != 0)" ( (binary_expression "((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0 || (local_64 & local_64 - 1) != 0" (binary_expression "((local_60 - 1) + (uint)(local_64 != 0) & local_60) != 0" (parenthesized_expression "((local_60 - 1) + (uint)(local_64 != 0) & local_60)" ( (binary_expression "(local_60 - 1) + (uint)(local_64 != 0) & local_60" (binary_expression "(local_60 - 1) + (uint)(local_64 != 0)" (parenthesized_expression "(local_60 - 1)" ( (binary_expression "local_60 - 1" identifier - number_literal) )) + (call_expression "(uint)(local_64 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 != 0)" ( (binary_expression "local_64 != 0" identifier != number_literal) )))) & identifier) )) != number_literal) || (binary_expression "(local_64 & local_64 - 1) != 0" (parenthesized_expression "(local_64 & local_64 - 1)" ( (binary_expression "local_64 & local_64 - 1" identifier & (binary_expression "local_64 - 1" identifier - number_literal)) )) != number_literal)) )) (compound_statement "{\n    pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"");\n    pOStack_a0 = (Output_section *)secname;\n    Object::error((Object *)object,pcVar16,local_64);\n    local_64 = 1;\n    local_60 = 0;\n    pSVar22 = shdr->p_;\n  }" { (expression_statement "pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"");" (assignment_expression "pcVar16 = (char *)gettext("invalid alignment %lu for section \"%s\"")" identifier = (cast_expression "(char *)gettext("invalid alignment %lu for section \"%s\"")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("invalid alignment %lu for section \"%s\"")" identifier (argument_list "("invalid alignment %lu for section \"%s\"")" ( (string_literal ""invalid alignment %lu for section \"%s\""" " string_content escape_sequence string_content escape_sequence ") ))))) ;) (expression_statement "pOStack_a0 = (Output_section *)secname;" (assignment_expression "pOStack_a0 = (Output_section *)secname" identifier = (cast_expression "(Output_section *)secname" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "Object::error((Object *)object,pcVar16,local_64);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)object,pcVar16,local_64);" (call_expression "error((Object *)object,pcVar16,local_64)" identifier (argument_list "((Object *)object,pcVar16,local_64)" ( (cast_expression "(Object *)object" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;)) (expression_statement "local_64 = 1;" (assignment_expression "local_64 = 1" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "pSVar22 = shdr->p_;" (assignment_expression "pSVar22 = shdr->p_" identifier = (field_expression "shdr->p_" identifier -> field_identifier)) ;) })) (expression_statement "local_68 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_68 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (expression_statement "puVar25 = (undefined4 *)&stack0xffffff64;" (assignment_expression "puVar25 = (undefined4 *)&stack0xffffff64" identifier = (cast_expression "(undefined4 *)&stack0xffffff64" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (expression_statement "uVar15 = *(uint *)((int)&this->addralign_ + 4);" (assignment_expression "uVar15 = *(uint *)((int)&this->addralign_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this->addralign_ + 4)" * (cast_expression "(uint *)((int)&this->addralign_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->addralign_ + 4)" ( (binary_expression "(int)&this->addralign_ + 4" (cast_expression "(int)&this->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->addralign_" & (field_expression "this->addralign_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar10 = (uint)((uint)this->addralign_ < local_64);" (assignment_expression "uVar10 = (uint)((uint)this->addralign_ < local_64)" identifier = (call_expression "(uint)((uint)this->addralign_ < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)this->addralign_ < local_64)" ( (binary_expression "(uint)this->addralign_ < local_64" (cast_expression "(uint)this->addralign_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->addralign_" identifier -> field_identifier)) < identifier) )))) ;) (expression_statement "uVar11 = uVar15 - local_60;" (assignment_expression "uVar11 = uVar15 - local_60" identifier = (binary_expression "uVar15 - local_60" identifier - identifier)) ;) (expression_statement "bVar28 = uVar15 < local_60 || uVar11 < uVar10;" (assignment_expression "bVar28 = uVar15 < local_60 || uVar11 < uVar10" identifier = (binary_expression "uVar15 < local_60 || uVar11 < uVar10" (binary_expression "uVar15 < local_60" identifier < identifier) || (binary_expression "uVar11 < uVar10" identifier < identifier))) ;) (expression_statement "bVar29 = uVar11 == uVar10;" (assignment_expression "bVar29 = uVar11 == uVar10" identifier = (binary_expression "uVar11 == uVar10" identifier == identifier)) ;) (if_statement "if (uVar15 < local_60 || uVar11 < uVar10) {\n    *(uint *)&this->addralign_ = local_64;\n    *(uint *)((int)&this->addralign_ + 4) = local_60;\n  }" if (parenthesized_expression "(uVar15 < local_60 || uVar11 < uVar10)" ( (binary_expression "uVar15 < local_60 || uVar11 < uVar10" (binary_expression "uVar15 < local_60" identifier < identifier) || (binary_expression "uVar11 < uVar10" identifier < identifier)) )) (compound_statement "{\n    *(uint *)&this->addralign_ = local_64;\n    *(uint *)((int)&this->addralign_ + 4) = local_60;\n  }" { (expression_statement "*(uint *)&this->addralign_ = local_64;" (assignment_expression "*(uint *)&this->addralign_ = local_64" (pointer_expression "*(uint *)&this->addralign_" * (cast_expression "(uint *)&this->addralign_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->addralign_" & (field_expression "this->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&this->addralign_ + 4) = local_60;" (assignment_expression "*(uint *)((int)&this->addralign_ + 4) = local_60" (pointer_expression "*(uint *)((int)&this->addralign_ + 4)" * (cast_expression "(uint *)((int)&this->addralign_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->addralign_ + 4)" ( (binary_expression "(int)&this->addralign_ + 4" (cast_expression "(int)&this->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->addralign_" & (field_expression "this->addralign_" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) })) (expression_statement "local_74 = (anon_union_8_2_227b06d7_for_u1_ *)pSVar22->sh_flags;" (assignment_expression "local_74 = (anon_union_8_2_227b06d7_for_u1_ *)pSVar22->sh_flags" identifier = (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)pSVar22->sh_flags" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar22->sh_flags" identifier -> field_identifier))) ;) (expression_statement "iVar20 = 0xb;" (assignment_expression "iVar20 = 0xb" identifier = number_literal) ;) (expression_statement "local_84 = pSVar22->sh_entsize;" (assignment_expression "local_84 = pSVar22->sh_entsize" identifier = (field_expression "pSVar22->sh_entsize" identifier -> field_identifier)) ;) (expression_statement "pbVar26 = (byte *)secname;" (assignment_expression "pbVar26 = (byte *)secname" identifier = (cast_expression "(byte *)secname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar27 = (byte *)".debug_str";" (assignment_expression "pbVar27 = (byte *)".debug_str"" identifier = (cast_expression "(byte *)".debug_str"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_str"" " string_content "))) ;) (do_statement "do {\n    if (iVar20 == 0) break;\n    iVar20 = iVar20 + -1;\n    bVar28 = *pbVar26 < *pbVar27;\n    bVar29 = *pbVar26 == *pbVar27;\n    pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1;\n  } while (bVar29);" do (compound_statement "{\n    if (iVar20 == 0) break;\n    iVar20 = iVar20 + -1;\n    bVar28 = *pbVar26 < *pbVar27;\n    bVar29 = *pbVar26 == *pbVar27;\n    pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1;\n  }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar26 < *pbVar27;" (assignment_expression "bVar28 = *pbVar26 < *pbVar27" identifier = (binary_expression "*pbVar26 < *pbVar27" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "bVar29 = *pbVar26 == *pbVar27;" (assignment_expression "bVar29 = *pbVar26 == *pbVar27" identifier = (binary_expression "*pbVar26 == *pbVar27" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar27" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar27 = pbVar27 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar27 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar27 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar29) == bVar28) {\n    local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" if (parenthesized_expression "((!bVar28 && !bVar29) == bVar28)" ( (binary_expression "(!bVar28 && !bVar29) == bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier) )) (compound_statement "{\n    local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" { (expression_statement "local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30);" (assignment_expression "local_74 = (anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30)" identifier = (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)((uint)local_74 | 0x30)" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_74 | 0x30)" ( (binary_expression "(uint)local_74 | 0x30" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "local_84 = 1;" (assignment_expression "local_84 = 1" identifier = number_literal) ;) })) (expression_statement "update_flags_for_input_section(this,ZEXT48(local_74));" (call_expression "update_flags_for_input_section(this,ZEXT48(local_74))" identifier (argument_list "(this,ZEXT48(local_74))" ( identifier , (call_expression "ZEXT48(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ))) ;) (if_statement "if ((this->field_0x92 & 2) == 0) {\n    pOStack_a0 = (Output_section *)0x2f9773;\n    set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68));\n  }" if (parenthesized_expression "((this->field_0x92 & 2) == 0)" ( (binary_expression "(this->field_0x92 & 2) == 0" (parenthesized_expression "(this->field_0x92 & 2)" ( (binary_expression "this->field_0x92 & 2" (field_expression "this->field_0x92" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    pOStack_a0 = (Output_section *)0x2f9773;\n    set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68));\n  }" { (expression_statement "pOStack_a0 = (Output_section *)0x2f9773;" (assignment_expression "pOStack_a0 = (Output_section *)0x2f9773" identifier = (cast_expression "(Output_section *)0x2f9773" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68));" (call_expression "set_entsize(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68))" identifier (argument_list "(in_stack_ffffff64,CONCAT44(in_stack_ffffff6c,in_stack_ffffff68))" ( identifier , (call_expression "CONCAT44(in_stack_ffffff6c,in_stack_ffffff68)" identifier (argument_list "(in_stack_ffffff6c,in_stack_ffffff68)" ( identifier , identifier ))) ))) ;) })) (if_statement "if (((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)) && (shdr->p_->sh_size != 0)) {\n    ppPVar32 = &parameters;\n    bVar28 = Parameters::incremental(parameters);\n    if (!bVar28) {\n      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }\n      bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);\n      if (bVar28) {\n        return -1;\n      }\n    }\n  }" if (parenthesized_expression "(((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)) && (shdr->p_->sh_size != 0))" ( (binary_expression "((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)) && (shdr->p_->sh_size != 0)" (parenthesized_expression "((((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0))" ( (binary_expression "(((uint)local_74 & 0x10) != 0) && (reloc_shndx == 0)" (parenthesized_expression "(((uint)local_74 & 0x10) != 0)" ( (binary_expression "((uint)local_74 & 0x10) != 0" (parenthesized_expression "((uint)local_74 & 0x10)" ( (binary_expression "(uint)local_74 & 0x10" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(reloc_shndx == 0)" ( (binary_expression "reloc_shndx == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(shdr->p_->sh_size != 0)" ( (binary_expression "shdr->p_->sh_size != 0" (field_expression "shdr->p_->sh_size" (field_expression "shdr->p_" identifier -> field_identifier) -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    ppPVar32 = &parameters;\n    bVar28 = Parameters::incremental(parameters);\n    if (!bVar28) {\n      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }\n      bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);\n      if (bVar28) {\n        return -1;\n      }\n    }\n  }" { (expression_statement "ppPVar32 = &parameters;" (assignment_expression "ppPVar32 = &parameters" identifier = (pointer_expression "&parameters" & identifier)) ;) (ERROR "bVar28 = Parameters::" (assignment_expression "bVar28 = Parameters" identifier = identifier) : :) (expression_statement "incremental(parameters);" (call_expression "incremental(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (!bVar28) {\n      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }\n      bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);\n      if (bVar28) {\n        return -1;\n      }\n    }" if (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) (compound_statement "{\n      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }\n      bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);\n      if (bVar28) {\n        return -1;\n      }\n    }" { (if_statement "if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {\n        keeps_input_sections = true;\n      }\n      else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }" if (parenthesized_expression "(((this->field_0x92 & 0x10) != 0) || (have_sections_script))" ( (binary_expression "((this->field_0x92 & 0x10) != 0) || (have_sections_script)" (parenthesized_expression "((this->field_0x92 & 0x10) != 0)" ( (binary_expression "(this->field_0x92 & 0x10) != 0" (parenthesized_expression "(this->field_0x92 & 0x10)" ( (binary_expression "this->field_0x92 & 0x10" (field_expression "this->field_0x92" identifier -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(have_sections_script)" ( identifier ))) )) (compound_statement "{\n        keeps_input_sections = true;\n      }" { (expression_statement "keeps_input_sections = true;" (assignment_expression "keeps_input_sections = true" identifier = true) ;) }) (else_clause "else {\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }" else (compound_statement "{\n        pPVar7 = *ppPVar32;\n        pTVar8 = pPVar7->target_;\n        paVar21 = local_74;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }\n      }" { (expression_statement "pPVar7 = *ppPVar32;" (assignment_expression "pPVar7 = *ppPVar32" identifier = (pointer_expression "*ppPVar32" * identifier)) ;) (expression_statement "pTVar8 = pPVar7->target_;" (assignment_expression "pTVar8 = pPVar7->target_" identifier = (field_expression "pPVar7->target_" identifier -> field_identifier)) ;) (expression_statement "paVar21 = local_74;" (assignment_expression "paVar21 = local_74" identifier = identifier) ;) (if_statement "if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pTVar8 == (Target *)0x0)" ( (binary_expression "pTVar8 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if ((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }" if (parenthesized_expression "((pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0))" ( (binary_expression "(pPVar7->options_ == (General_options *)0x0) ||\n           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)" (parenthesized_expression "(pPVar7->options_ == (General_options *)0x0)" ( (binary_expression "pPVar7->options_ == (General_options *)0x0" (field_expression "pPVar7->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)" ( (comma_expression "keeps_input_sections = true, (pPVar7->debug_ & 8) == 0" (assignment_expression "keeps_input_sections = true" identifier = true) , (binary_expression "(pPVar7->debug_ & 8) == 0" (parenthesized_expression "(pPVar7->debug_ & 8)" ( (binary_expression "pPVar7->debug_ & 8" (field_expression "pPVar7->debug_" identifier -> field_identifier) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }\n        }" { (if_statement "if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }" if (parenthesized_expression "(pTVar8->_vptr_Target[0x1c] == Target::do_may_relax)" ( (binary_expression "pTVar8->_vptr_Target[0x1c] == Target" (subscript_expression "pTVar8->_vptr_Target[0x1c]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_may_relax" : : identifier) )) (compound_statement "{\n            pOStack_a0 = (Output_section *)0x2f9b16;\n            keeps_input_sections = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }" { (expression_statement "pOStack_a0 = (Output_section *)0x2f9b16;" (assignment_expression "pOStack_a0 = (Output_section *)0x2f9b16" identifier = (cast_expression "(Output_section *)0x2f9b16" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "keeps_input_sections = Target::" (assignment_expression "keeps_input_sections = Target" identifier = identifier) : :) (expression_statement "do_may_relax((Target *)in_stack_ffffff64);" (call_expression "do_may_relax((Target *)in_stack_ffffff64)" identifier (argument_list "((Target *)in_stack_ffffff64)" ( (cast_expression "(Target *)in_stack_ffffff64" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) (else_clause "else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }" else (compound_statement "{\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            keeps_input_sections = (undefined1)iVar20;\n          }" { (expression_statement "iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);" (assignment_expression "iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8)" identifier = (call_expression "(*pTVar8->_vptr_Target[0x1c])(pTVar8)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x1c])" ( (pointer_expression "*pTVar8->_vptr_Target[0x1c]" * (subscript_expression "pTVar8->_vptr_Target[0x1c]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8)" ( identifier )))) ;) (expression_statement "keeps_input_sections = (undefined1)iVar20;" (assignment_expression "keeps_input_sections = (undefined1)iVar20" identifier = (cast_expression "(undefined1)iVar20" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) })) }))) (expression_statement "bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections);" (assignment_expression "bVar28 = add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections)" identifier = (call_expression "add_merge_input_section\n                         (this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections)" identifier (argument_list "(this,(Relobj *)object,shndx,ZEXT48(local_74),(ulonglong)local_84,\n                          CONCAT44(local_60,local_64),(bool)keeps_input_sections)" ( identifier , (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (call_expression "ZEXT48(local_74)" identifier (argument_list "(local_74)" ( identifier ))) , (cast_expression "(ulonglong)local_84" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (call_expression "CONCAT44(local_60,local_64)" identifier (argument_list "(local_60,local_64)" ( identifier , identifier ))) , (cast_expression "(bool)keeps_input_sections" ( (type_descriptor "bool" primitive_type) ) identifier) )))) ;) (if_statement "if (bVar28) {\n        return -1;\n      }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n        return -1;\n      }" { (return_statement "return -1;" return number_literal ;) })) })) })) (expression_statement "bVar30 = this->field_0x92;" (assignment_expression "bVar30 = this->field_0x92" identifier = (field_expression "this->field_0x92" identifier -> field_identifier)) ;) (if_statement "if ((bVar30 & 0x20) != 0) {\n    oVar31 = Free_list::allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                );\n    if (oVar31 != -1) {\n      return oVar31;\n    }\n    pcVar16 = this->name_;\n    format = (char *)gettext("out of patch space in section %s; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n    gold_fallback(format,pcVar16);\n  }" if (parenthesized_expression "((bVar30 & 0x20) != 0)" ( (binary_expression "(bVar30 & 0x20) != 0" (parenthesized_expression "(bVar30 & 0x20)" ( (binary_expression "bVar30 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    oVar31 = Free_list::allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                );\n    if (oVar31 != -1) {\n      return oVar31;\n    }\n    pcVar16 = this->name_;\n    format = (char *)gettext("out of patch space in section %s; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n    gold_fallback(format,pcVar16);\n  }" { (ERROR "oVar31 = Free_list::" (assignment_expression "oVar31 = Free_list" identifier = identifier) : :) (expression_statement "allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                );" (call_expression "allocate(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                )" identifier (argument_list "(&this->free_list_,(ulonglong)local_7c,CONCAT44(local_60,local_64),0\n                                )" ( (pointer_expression "&this->free_list_" & (field_expression "this->free_list_" identifier -> field_identifier)) , (cast_expression "(ulonglong)local_7c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (call_expression "CONCAT44(local_60,local_64)" identifier (argument_list "(local_60,local_64)" ( identifier , identifier ))) , number_literal ))) ;) (if_statement "if (oVar31 != -1) {\n      return oVar31;\n    }" if (parenthesized_expression "(oVar31 != -1)" ( (binary_expression "oVar31 != -1" identifier != number_literal) )) (compound_statement "{\n      return oVar31;\n    }" { (return_statement "return oVar31;" return identifier ;) })) (expression_statement "pcVar16 = this->name_;" (assignment_expression "pcVar16 = this->name_" identifier = (field_expression "this->name_" identifier -> field_identifier)) ;) (expression_statement "format = (char *)gettext("out of patch space in section %s; relink with --incremental-full");" (assignment_expression "format = (char *)gettext("out of patch space in section %s; relink with --incremental-full")" identifier = (cast_expression "(char *)gettext("out of patch space in section %s; relink with --incremental-full")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("out of patch space in section %s; relink with --incremental-full")" identifier (argument_list "("out of patch space in section %s; relink with --incremental-full")" ( (string_literal ""out of patch space in section %s; relink with --incremental-full"" " string_content ") ))))) ;) comment (expression_statement "gold_fallback(format,pcVar16);" (call_expression "gold_fallback(format,pcVar16)" identifier (argument_list "(format,pcVar16)" ( identifier , identifier ))) ;) })) (expression_statement "pOVar5 = *(Output_section **)((int)&(this->super_Output_data).data_size_ + 4);" (assignment_expression "pOVar5 = *(Output_section **)((int)&(this->super_Output_data).data_size_ + 4)" identifier = (pointer_expression "*(Output_section **)((int)&(this->super_Output_data).data_size_ + 4)" * (cast_expression "(Output_section **)((int)&(this->super_Output_data).data_size_ + 4)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "paVar6 = *(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_;" (assignment_expression "paVar6 = *(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_" identifier = (pointer_expression "*(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_" * (cast_expression "(anon_union_8_2_227b06d7_for_u1_ **)&(this->super_Output_data).data_size_" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "paVar21 = paVar6;" (assignment_expression "paVar21 = paVar6" identifier = identifier) ;) (expression_statement "pOVar13 = pOVar5;" (assignment_expression "pOVar13 = pOVar5" identifier = identifier) ;) (if_statement "if (local_60 != 0 || local_64 != 0) {\n    paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64);\n    pOVar13 = (Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)));\n  }" if (parenthesized_expression "(local_60 != 0 || local_64 != 0)" ( (binary_expression "local_60 != 0 || local_64 != 0" (binary_expression "local_60 != 0" identifier != number_literal) || (binary_expression "local_64 != 0" identifier != number_literal)) )) (compound_statement "{\n    paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64);\n    pOVar13 = (Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)));\n  }" { (expression_statement "paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64);" (assignment_expression "paVar21 = (anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64)" identifier = (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)\n              ((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64)" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64)" ( (binary_expression "(uint)((undefined1 *)((int)paVar6 - 1U) + local_64) & -local_64" (call_expression "(uint)((undefined1 *)((int)paVar6 - 1U) + local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined1 *)((int)paVar6 - 1U) + local_64)" ( (binary_expression "(undefined1 *)((int)paVar6 - 1U) + local_64" (cast_expression "(undefined1 *)((int)paVar6 - 1U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar6 - 1U)" ( (binary_expression "(int)paVar6 - 1U" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) ))) + identifier) ))) & (unary_expression "-local_64" - identifier)) )))) ;) (expression_statement "pOVar13 = (Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)));" (assignment_expression "pOVar13 = (Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)))" identifier = (cast_expression "(Output_section *)\n              ((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)))" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0)))" ( (binary_expression "(int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1) &\n              -(local_60 + (local_64 != 0))" (binary_expression "(int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60 + ((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1)" (binary_expression "(int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64) +\n               local_60" (binary_expression "(int)pOVar5 +\n               (uint)CARRY4((int)paVar6 - 1U,local_64)" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((int)paVar6 - 1U,local_64)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)paVar6 - 1U,local_64)" identifier (argument_list "((int)paVar6 - 1U,local_64)" ( (binary_expression "(int)paVar6 - 1U" (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) , identifier ))))) + identifier) + (parenthesized_expression "((paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1)" ( (binary_expression "(paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0) - 1" (parenthesized_expression "(paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0)" ( (binary_expression "paVar6 != (anon_union_8_2_227b06d7_for_u1_ *)0x0" identifier != (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)0x0" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) - number_literal) ))) & (unary_expression "-(local_60 + (local_64 != 0))" - (parenthesized_expression "(local_60 + (local_64 != 0))" ( (binary_expression "local_60 + (local_64 != 0)" identifier + (parenthesized_expression "(local_64 != 0)" ( (binary_expression "local_64 != 0" identifier != number_literal) ))) )))) )))) ;) })) (if_statement "if (((this->super_Output_data).field_0x1c & 2) != 0) {\n    pOStack_a0 = this;\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" if (parenthesized_expression "(((this->super_Output_data).field_0x1c & 2) != 0)" ( (binary_expression "((this->super_Output_data).field_0x1c & 2) != 0" (parenthesized_expression "((this->super_Output_data).field_0x1c & 2)" ( (binary_expression "(this->super_Output_data).field_0x1c & 2" (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    pOStack_a0 = this;\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" { (expression_statement "pOStack_a0 = this;" (assignment_expression "pOStack_a0 = this" identifier = identifier) ;) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })) (expression_statement "*(uint *)&(this->super_Output_data).data_size_ = local_7c + (int)paVar21;" (assignment_expression "*(uint *)&(this->super_Output_data).data_size_ = local_7c + (int)paVar21" (pointer_expression "*(uint *)&(this->super_Output_data).data_size_" * (cast_expression "(uint *)&(this->super_Output_data).data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = (binary_expression "local_7c + (int)paVar21" identifier + (cast_expression "(int)paVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(uint *)((int)&(this->super_Output_data).data_size_ + 4) =\n       (int)&(pOVar13->super_Output_data)._vptr_Output_data + (uint)CARRY4(local_7c,(uint)paVar21);" (assignment_expression "*(uint *)((int)&(this->super_Output_data).data_size_ + 4) =\n       (int)&(pOVar13->super_Output_data)._vptr_Output_data + (uint)CARRY4(local_7c,(uint)paVar21)" (pointer_expression "*(uint *)((int)&(this->super_Output_data).data_size_ + 4)" * (cast_expression "(uint *)((int)&(this->super_Output_data).data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = (binary_expression "(int)&(pOVar13->super_Output_data)._vptr_Output_data + (uint)CARRY4(local_7c,(uint)paVar21)" (cast_expression "(int)&(pOVar13->super_Output_data)._vptr_Output_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar13->super_Output_data)._vptr_Output_data" & (field_expression "(pOVar13->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar13->super_Output_data)" ( (field_expression "pOVar13->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(uint)CARRY4(local_7c,(uint)paVar21)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_7c,(uint)paVar21)" identifier (argument_list "(local_7c,(uint)paVar21)" ( identifier , (cast_expression "(uint)paVar21" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (if_statement "if (((bVar30 & 1) != 0) || (have_sections_script)) {\nLAB_002f9834:\n    if (((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))\n    goto LAB_002f9852;\n    if (!have_sections_script) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar25 = ppOVar24;\n      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\n  else {\n    if (((uint)local_74 & 4) == 0) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }\n    else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }\nLAB_002f9852:\n    ppOVar24 = (Output_section **)&stack0xffffff64;\n    if (((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)) {\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(((bVar30 & 1) != 0) || (have_sections_script))" ( (binary_expression "((bVar30 & 1) != 0) || (have_sections_script)" (parenthesized_expression "((bVar30 & 1) != 0)" ( (binary_expression "(bVar30 & 1) != 0" (parenthesized_expression "(bVar30 & 1)" ( (binary_expression "bVar30 & 1" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(have_sections_script)" ( identifier ))) )) (compound_statement "{\nLAB_002f9834:\n    if (((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))\n    goto LAB_002f9852;\n    if (!have_sections_script) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar25 = ppOVar24;\n      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" { (labeled_statement "LAB_002f9834:\n    if (((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))\n    goto LAB_002f9852;" statement_identifier : (if_statement "if (((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))\n    goto LAB_002f9852;" if (parenthesized_expression "(((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0))" ( (binary_expression "((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) || ((bVar30 & 1) != 0)" (parenthesized_expression "((SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0)" ( (binary_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) ==\n         (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (parenthesized_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21)))" ( (binary_expression "SBORROW4((int)pOVar5,(int)pOVar13) !=\n         SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" (call_expression "SBORROW4((int)pOVar5,(int)pOVar13)" identifier (argument_list "((int)pOVar5,(int)pOVar13)" ( (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" identifier (argument_list "((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) ))) )))) )) == (binary_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (cast_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (binary_expression "((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)" (parenthesized_expression "((int)pOVar5 - (int)pOVar13)" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((bVar30 & 1) != 0)" ( (binary_expression "(bVar30 & 1) != 0" (parenthesized_expression "(bVar30 & 1)" ( (binary_expression "bVar30 & 1" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_002f9852;" goto statement_identifier ;))) (if_statement "if (!have_sections_script) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar25 = ppOVar24;\n      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" if (parenthesized_expression "(!have_sections_script)" ( (unary_expression "!have_sections_script" ! identifier) )) (compound_statement "{\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar25 = ppOVar24;\n      if ((bVar30 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" { (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (if_statement "if (((uint)local_74 & 4) != 0) {\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }" if (parenthesized_expression "(((uint)local_74 & 4) != 0)" ( (binary_expression "((uint)local_74 & 4) != 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_002f9bab:\n        pTVar8 = parameters->target_;\n        puVar25 = (undefined4 *)&stack0xffffff64;\n        if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n        ppOVar24 = (Output_section **)&stack0xffffff64;\n        if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }\n      }" { (labeled_statement "LAB_002f9bab:\n        pTVar8 = parameters->target_;" statement_identifier : (expression_statement "pTVar8 = parameters->target_;" (assignment_expression "pTVar8 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;)) (expression_statement "puVar25 = (undefined4 *)&stack0xffffff64;" (assignment_expression "puVar25 = (undefined4 *)&stack0xffffff64" identifier = (cast_expression "(undefined4 *)&stack0xffffff64" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (if_statement "if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pTVar8 == (Target *)0x0)" ( (binary_expression "pTVar8 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (if_statement "if (pTVar8->pti_->has_code_fill != false) {\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }" if (parenthesized_expression "(pTVar8->pti_->has_code_fill != false)" ( (binary_expression "pTVar8->pti_->has_code_fill != false" (field_expression "pTVar8->pti_->has_code_fill" (field_expression "pTVar8->pti_" identifier -> field_identifier) -> field_identifier) != false) )) (compound_statement "{\n          local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;\n          if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }\n        }" { (expression_statement "local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6;" (assignment_expression "local_34.u1_.data_size._0_4_ = (int)paVar21 - (int)paVar6" (field_expression "local_34.u1_.data_size._0_4_" (field_expression "local_34.u1_.data_size" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(int)paVar21 - (int)paVar6" (cast_expression "(int)paVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)paVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start) {\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }\n          else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }" if (parenthesized_expression "((this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_start)" ( (ERROR "(this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::" (comma_expression "(this->input_sections_).\n              super__Vector_base<gold::Output_section::Input_section,_std" (binary_expression "(this->input_sections_).\n              super__Vector_base<gold" (field_expression "(this->input_sections_).\n              super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section::Input_section" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : : (binary_expression "Input_section>_>\n              ._M_impl._M_finish ==\n              (this->input_sections_).\n              super__Vector_base<gold" (field_expression "Input_section>_>\n              ._M_impl._M_finish" (field_expression "Input_section>_>\n              ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->input_sections_).\n              super__Vector_base<gold" (field_expression "(this->input_sections_).\n              super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) : : identifier : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section>_>\n              ._M_impl._M_start" (field_expression "Input_section>_>\n              ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n            local_34.shndx_ = (uint)paVar6;\n            local_34.p2align_ = (uint)pOVar5;\n            if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }\n            std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);\n            bVar30 = this->field_0x92;\n            ppOVar24 = (Output_section **)&stack0xffffff64;\n          }" { (expression_statement "local_34.shndx_ = (uint)paVar6;" (assignment_expression "local_34.shndx_ = (uint)paVar6" (field_expression "local_34.shndx_" identifier . field_identifier) = (cast_expression "(uint)paVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_34.p2align_ = (uint)pOVar5;" (assignment_expression "local_34.p2align_ = (uint)pOVar5" (field_expression "local_34.p2align_" identifier . field_identifier) = (cast_expression "(uint)pOVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)) {\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }" if (parenthesized_expression "((int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6))" ( (binary_expression "(int)pOVar13 - (int)pOVar5 != (uint)(paVar21 < paVar6)" (binary_expression "(int)pOVar13 - (int)pOVar5" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier)) != (call_expression "(uint)(paVar21 < paVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar21 < paVar6)" ( (binary_expression "paVar21 < paVar6" identifier < identifier) )))) )) (compound_statement "{\n              pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n            }" { (expression_statement "pOStack_a0 = pOVar5;" (assignment_expression "pOStack_a0 = pOVar5" identifier = identifier) ;) 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 ") ))) ;) })) (labeled_statement "std::vector<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);" statement_identifier (ERROR "::Fill,_std::allocator<gold:" : : (comma_expression "Fill,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill>_>::\n            emplace_back<gold::Output_section::Fill>(&this->fills_,(Fill *)&local_34);" statement_identifier (ERROR "::Fill>_>::\n            emplace_back<gold:" : : (binary_expression "Fill>_" identifier > identifier) > : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill>(&this->fills_,(Fill *)&local_34);" statement_identifier : (ERROR ":" :) (expression_statement "Fill>(&this->fills_,(Fill *)&local_34);" (binary_expression "Fill>(&this->fills_,(Fill *)&local_34)" identifier > (parenthesized_expression "(&this->fills_,(Fill *)&local_34)" ( (comma_expression "&this->fills_,(Fill *)&local_34" (pointer_expression "&this->fills_" & (field_expression "this->fills_" identifier -> field_identifier)) , (cast_expression "(Fill *)&local_34" ( (type_descriptor "Fill *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_34" & identifier))) ))) ;))))) (expression_statement "bVar30 = this->field_0x92;" (assignment_expression "bVar30 = this->field_0x92" identifier = (field_expression "this->field_0x92" identifier -> field_identifier)) ;) (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) }) (else_clause "else {\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }" else (compound_statement "{\n            (*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);\n                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */\n            this_00.object = (Relobj *)operator_new(0x44);\n                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */\n            Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);\n            local_34.shndx_ = 0xffffffff;\n            local_34.p2align_ = 0;\n            local_34.section_order_index_ = 0;\n            local_34.u1_.data_size._0_4_ = 0;\n            local_34.u1_.data_size._4_4_ = 0;\n            local_34.u2_.object = this_00.object;\n                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */\n            std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._M_dataplus._M_p);\n            }\n            bVar30 = this->field_0x92;\n            ppOVar24 = &pOStack_a0;\n          }" { (expression_statement "(*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_);" (call_expression "(*pTVar8->_vptr_Target[6])(&fill_data,pTVar8,local_34.u1_.data_size._0_4_)" (parenthesized_expression "(*pTVar8->_vptr_Target[6])" ( (pointer_expression "*pTVar8->_vptr_Target[6]" * (subscript_expression "pTVar8->_vptr_Target[6]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(&fill_data,pTVar8,local_34.u1_.data_size._0_4_)" ( (pointer_expression "&fill_data" & identifier) , identifier , (field_expression "local_34.u1_.data_size._0_4_" (field_expression "local_34.u1_.data_size" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) comment (expression_statement "this_00.object = (Relobj *)operator_new(0x44);" (assignment_expression "this_00.object = (Relobj *)operator_new(0x44)" (field_expression "this_00.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0x44)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x44)" identifier (argument_list "(0x44)" ( number_literal ))))) ;) comment (labeled_statement "Output_data_const::Output_data_const((Output_data_const *)this_00.object,&fill_data,1);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_const((Output_data_const *)this_00.object,&fill_data,1);" (call_expression "Output_data_const((Output_data_const *)this_00.object,&fill_data,1)" identifier (argument_list "((Output_data_const *)this_00.object,&fill_data,1)" ( (cast_expression "(Output_data_const *)this_00.object" ( (type_descriptor "Output_data_const *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this_00.object" identifier . field_identifier)) , (pointer_expression "&fill_data" & identifier) , number_literal ))) ;)) (expression_statement "local_34.shndx_ = 0xffffffff;" (assignment_expression "local_34.shndx_ = 0xffffffff" (field_expression "local_34.shndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_34.p2align_ = 0;" (assignment_expression "local_34.p2align_ = 0" (field_expression "local_34.p2align_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_34.section_order_index_ = 0;" (assignment_expression "local_34.section_order_index_ = 0" (field_expression "local_34.section_order_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_34.u1_.data_size._0_4_ = 0;" (assignment_expression "local_34.u1_.data_size._0_4_ = 0" (field_expression "local_34.u1_.data_size._0_4_" (field_expression "local_34.u1_.data_size" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_34.u1_.data_size._4_4_ = 0;" (assignment_expression "local_34.u1_.data_size._4_4_ = 0" (field_expression "local_34.u1_.data_size._4_4_" (field_expression "local_34.u1_.data_size" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_34.u2_.object = this_00.object;" (assignment_expression "local_34.u2_.object = this_00.object" (field_expression "local_34.u2_.object" (field_expression "local_34.u2_" identifier . field_identifier) . field_identifier) = (field_expression "this_00.object" identifier . field_identifier)) ;) comment (labeled_statement "std::\n            vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);" statement_identifier (ERROR "::\n            vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n            ::emplace_back<gold::Output_section::Input_section>(&this->input_sections_,&local_34);" statement_identifier (ERROR "::Input_section>_>\n            ::emplace_back<gold:" : : (binary_expression "Input_section>_" identifier > identifier) > : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>(&this->input_sections_,&local_34);" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>(&this->input_sections_,&local_34);" (binary_expression "Input_section>(&this->input_sections_,&local_34)" identifier > (parenthesized_expression "(&this->input_sections_,&local_34)" ( (comma_expression "&this->input_sections_,&local_34" (pointer_expression "&this->input_sections_" & (field_expression "this->input_sections_" identifier -> field_identifier)) , (pointer_expression "&local_34" & identifier)) ))) ;))))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {\n              operator_delete(fill_data._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                 *)fill_data._M_dataplus._M_p != &fill_data.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p != &fill_data.field_2" (binary_expression "allocator<char>_>_9\n                 *)fill_data._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)fill_data._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "fill_data._M_dataplus._M_p" (field_expression "fill_data._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&fill_data.field_2" & (field_expression "fill_data.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n              operator_delete(fill_data._M_dataplus._M_p);\n            }" { (expression_statement "operator_delete(fill_data._M_dataplus._M_p);" (call_expression "operator_delete(fill_data._M_dataplus._M_p)" identifier (argument_list "(fill_data._M_dataplus._M_p)" ( (field_expression "fill_data._M_dataplus._M_p" (field_expression "fill_data._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "bVar30 = this->field_0x92;" (assignment_expression "bVar30 = this->field_0x92" identifier = (field_expression "this->field_0x92" identifier -> field_identifier)) ;) (expression_statement "ppOVar24 = &pOStack_a0;" (assignment_expression "ppOVar24 = &pOStack_a0" identifier = (pointer_expression "&pOStack_a0" & identifier)) ;) }))) })) })) (labeled_statement "LAB_002f9c88:\n      puVar25 = ppOVar24;" statement_identifier : (expression_statement "puVar25 = ppOVar24;" (assignment_expression "puVar25 = ppOVar24" identifier = identifier) ;)) (if_statement "if ((bVar30 & 0x10) != 0) goto LAB_002f9862;" if (parenthesized_expression "((bVar30 & 0x10) != 0)" ( (binary_expression "(bVar30 & 0x10) != 0" (parenthesized_expression "(bVar30 & 0x10)" ( (binary_expression "bVar30 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002f9862;" goto statement_identifier ;)) (goto_statement "goto LAB_002f9c92;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (((uint)local_74 & 4) == 0) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }\n    else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }\nLAB_002f9852:\n    ppOVar24 = (Output_section **)&stack0xffffff64;\n    if (((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)) {\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (((uint)local_74 & 4) == 0) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }\n    else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }\nLAB_002f9852:\n    ppOVar24 = (Output_section **)&stack0xffffff64;\n    if (((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)) {\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (((uint)local_74 & 4) == 0) {\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }\n    else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }" if (parenthesized_expression "(((uint)local_74 & 4) == 0)" ( (binary_expression "((uint)local_74 & 4) == 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      ppOVar24 = (Output_section **)&stack0xffffff64;\n      if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;\n    }" { (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (if_statement "if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9c88;" if (parenthesized_expression "((SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0)" ( (binary_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n          (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (parenthesized_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21)))" ( (binary_expression "SBORROW4((int)pOVar5,(int)pOVar13) !=\n          SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" (call_expression "SBORROW4((int)pOVar5,(int)pOVar13)" identifier (argument_list "((int)pOVar5,(int)pOVar13)" ( (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" identifier (argument_list "((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (cast_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (binary_expression "((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)" (parenthesized_expression "((int)pOVar5 - (int)pOVar13)" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9c88;" goto statement_identifier ;)) }) (else_clause "else {\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }" else (compound_statement "{\n      pTVar8 = parameters->target_;\n      puVar25 = (undefined4 *)&stack0xffffff64;\n      if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;\n      if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }\n    }" { (expression_statement "pTVar8 = parameters->target_;" (assignment_expression "pTVar8 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (expression_statement "puVar25 = (undefined4 *)&stack0xffffff64;" (assignment_expression "puVar25 = (undefined4 *)&stack0xffffff64" identifier = (cast_expression "(undefined4 *)&stack0xffffff64" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff64" & identifier))) ;) (if_statement "if (pTVar8 == (Target *)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pTVar8 == (Target *)0x0)" ( (binary_expression "pTVar8 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if (pTVar8->pti_->has_code_fill == false) {\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }\n      else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }" if (parenthesized_expression "(pTVar8->pti_->has_code_fill == false)" ( (binary_expression "pTVar8->pti_->has_code_fill == false" (field_expression "pTVar8->pti_->has_code_fill" (field_expression "pTVar8->pti_" identifier -> field_identifier) -> field_identifier) == false) )) (compound_statement "{\n        if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;\n      }" { (if_statement "if ((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0) goto LAB_002f9bab;" if (parenthesized_expression "((SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0)" ( (binary_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))) !=\n            (int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (parenthesized_expression "(SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21)))" ( (binary_expression "SBORROW4((int)pOVar5,(int)pOVar13) !=\n            SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" (call_expression "SBORROW4((int)pOVar5,(int)pOVar13)" identifier (argument_list "((int)pOVar5,(int)pOVar13)" ( (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" identifier (argument_list "((int)pOVar5 - (int)pOVar13,(uint)(paVar6 < paVar21))" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)) < 0" (cast_expression "(int)(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21))" ( (binary_expression "((int)pOVar5 - (int)pOVar13) - (uint)(paVar6 < paVar21)" (parenthesized_expression "((int)pOVar5 - (int)pOVar13)" ( (binary_expression "(int)pOVar5 - (int)pOVar13" (cast_expression "(int)pOVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(paVar6 < paVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar6 < paVar21)" ( (binary_expression "paVar6 < paVar21" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9bab;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }" else (compound_statement "{\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }\n        pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n                 ._M_impl._M_start;\n        if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }\n        bVar30 = this->field_0x92;\n        this->field_0x92 = bVar30 | 1;\n      }" { (if_statement "if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)) {\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }" if (parenthesized_expression "((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0))" ( (binary_expression "(parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 8) == 0)" (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)) )) || (parenthesized_expression "((parameters->debug_ & 8) == 0)" ( (binary_expression "(parameters->debug_ & 8) == 0" (parenthesized_expression "(parameters->debug_ & 8)" ( (binary_expression "parameters->debug_ & 8" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }\n          if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }\n        }" { (if_statement "if (pTVar8->_vptr_Target[0x1c] == Target::do_may_relax) {\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }\n          else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }" if (parenthesized_expression "(pTVar8->_vptr_Target[0x1c] == Target::do_may_relax)" ( (binary_expression "pTVar8->_vptr_Target[0x1c] == Target" (subscript_expression "pTVar8->_vptr_Target[0x1c]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_may_relax" : : identifier) )) (compound_statement "{\n            pOStack_a0 = (Output_section *)0x2f9e18;\n            cVar12 = Target::do_may_relax((Target *)in_stack_ffffff64);\n          }" { (expression_statement "pOStack_a0 = (Output_section *)0x2f9e18;" (assignment_expression "pOStack_a0 = (Output_section *)0x2f9e18" identifier = (cast_expression "(Output_section *)0x2f9e18" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "cVar12 = Target::" (assignment_expression "cVar12 = Target" identifier = identifier) : :) (expression_statement "do_may_relax((Target *)in_stack_ffffff64);" (call_expression "do_may_relax((Target *)in_stack_ffffff64)" identifier (argument_list "((Target *)in_stack_ffffff64)" ( (cast_expression "(Target *)in_stack_ffffff64" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) (else_clause "else {\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }" else (compound_statement "{\n            iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);\n            cVar12 = (char)iVar20;\n          }" { (expression_statement "iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8);" (assignment_expression "iVar20 = (*pTVar8->_vptr_Target[0x1c])(pTVar8)" identifier = (call_expression "(*pTVar8->_vptr_Target[0x1c])(pTVar8)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x1c])" ( (pointer_expression "*pTVar8->_vptr_Target[0x1c]" * (subscript_expression "pTVar8->_vptr_Target[0x1c]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8)" ( identifier )))) ;) (expression_statement "cVar12 = (char)iVar20;" (assignment_expression "cVar12 = (char)iVar20" identifier = (cast_expression "(char)iVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (if_statement "if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }" if (parenthesized_expression "((cVar12 == '\0') && (layout->section_ordering_specified_ == false))" ( (binary_expression "(cVar12 == '\0') && (layout->section_ordering_specified_ == false)" (parenthesized_expression "(cVar12 == '\0')" ( (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(layout->section_ordering_specified_ == false)" ( (binary_expression "layout->section_ordering_specified_ == false" (field_expression "layout->section_ordering_specified_" identifier -> field_identifier) == false) ))) )) (compound_statement "{\n            bVar30 = this->field_0x92;\n            goto LAB_002f9834;\n          }" { (expression_statement "bVar30 = this->field_0x92;" (assignment_expression "bVar30 = this->field_0x92" identifier = (field_expression "this->field_0x92" identifier -> field_identifier)) ;) (goto_statement "goto LAB_002f9834;" goto statement_identifier ;) })) })) (ERROR "pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::" (comma_expression "pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold::Output_section::Fill,_std" (assignment_expression "pOVar5 = (Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold" identifier = (binary_expression "(Output_section *)\n                 (this->fills_).\n                 super__Vector_base<gold" (cast_expression "(Output_section *)\n                 (this->fills_).\n                 super__Vector_base" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->fills_).\n                 super__Vector_base" (parenthesized_expression "(this->fills_)" ( (field_expression "this->fills_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Output_section::Fill" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_section::Fill>_>\n                 ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Fill>_>\n                 ._M_impl._M_start;" (field_expression "Fill>_>\n                 ._M_impl._M_start" (field_expression "Fill>_>\n                 ._M_impl" (binary_expression "Fill>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (if_statement "if ((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5) {\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }" if (parenthesized_expression "((Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>\n            ._M_impl._M_finish != pOVar5)" ( (ERROR "(Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::" (comma_expression "(Output_section *)\n            (this->fills_).\n            super__Vector_base<gold::Output_section::Fill,_std" (binary_expression "(Output_section *)\n            (this->fills_).\n            super__Vector_base<gold" (cast_expression "(Output_section *)\n            (this->fills_).\n            super__Vector_base" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->fills_).\n            super__Vector_base" (parenthesized_expression "(this->fills_)" ( (field_expression "this->fills_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Output_section::Fill" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Fill>_>\n            ._M_impl._M_finish != pOVar5" (field_expression "Fill>_>\n            ._M_impl._M_finish" (field_expression "Fill>_>\n            ._M_impl" (binary_expression "Fill>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) (compound_statement "{\n          pOStack_a0 = pOVar5;\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");\n        }" { (expression_statement "pOStack_a0 = pOVar5;" (assignment_expression "pOStack_a0 = pOVar5" identifier = identifier) ;) comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x9eb,"add_input_section")" identifier (argument_list "("../../gold/output.cc",0x9eb,"add_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_input_section"" " string_content ") ))) ;) })) (expression_statement "bVar30 = this->field_0x92;" (assignment_expression "bVar30 = this->field_0x92" identifier = (field_expression "this->field_0x92" identifier -> field_identifier)) ;) (expression_statement "this->field_0x92 = bVar30 | 1;" (assignment_expression "this->field_0x92 = bVar30 | 1" (field_expression "this->field_0x92" identifier -> field_identifier) = (binary_expression "bVar30 | 1" identifier | number_literal)) ;) }))) }))) (labeled_statement "LAB_002f9852:\n    ppOVar24 = (Output_section **)&stack0xffffff64;" statement_identifier : (expression_statement "ppOVar24 = (Output_section **)&stack0xffffff64;" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) ;)) (if_statement "if (((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)) {\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script))" ( (binary_expression "((bVar30 & 0x10) == 0) &&\n       (ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)" (parenthesized_expression "((bVar30 & 0x10) == 0)" ( (binary_expression "(bVar30 & 0x10) == 0" (parenthesized_expression "(bVar30 & 0x10)" ( (binary_expression "bVar30 & 0x10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script)" ( (comma_expression "ppOVar24 = (Output_section **)&stack0xffffff64, puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script" (assignment_expression "ppOVar24 = (Output_section **)&stack0xffffff64" identifier = (cast_expression "(Output_section **)&stack0xffffff64" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&stack0xffffff64" & identifier))) , (comma_expression "puVar25 = (undefined4 *)&stack0xffffff64,\n       !have_sections_script" (assignment_expression "puVar25 = (undefined4 *)&stack0xffffff64" identifier = (cast_expression "(undefined4 *)&stack0xffffff64" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff64" & identifier))) , (unary_expression "!have_sections_script" ! identifier))) ))) )) (compound_statement "{\nLAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;\n      pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }\n    }" { (labeled_statement "LAB_002f9c92:\n      ppOVar24 = (Output_section **)puVar25;" statement_identifier : (expression_statement "ppOVar24 = (Output_section **)puVar25;" (assignment_expression "ppOVar24 = (Output_section **)puVar25" identifier = (cast_expression "(Output_section **)puVar25" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (ERROR "pIVar23 = (this->input_sections_).\n                super__Vector_base<gold::" (assignment_expression "pIVar23 = (this->input_sections_).\n                super__Vector_base<gold" identifier = (binary_expression "(this->input_sections_).\n                super__Vector_base<gold" (field_expression "(this->input_sections_).\n                super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n                ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n                ._M_impl._M_start;" (field_expression "Input_section>_>\n                ._M_impl._M_start" (field_expression "Input_section>_>\n                ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (if_statement "if (((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0))))" ( (binary_expression "((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23) &&\n         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))" (parenthesized_expression "((this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n           ._M_impl._M_finish == pIVar23)" ( (ERROR "(this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::" (comma_expression "(this->input_sections_).\n           super__Vector_base<gold::Output_section::Input_section,_std" (binary_expression "(this->input_sections_).\n           super__Vector_base<gold" (field_expression "(this->input_sections_).\n           super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section::Input_section" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Input_section>_>\n           ._M_impl._M_finish == pIVar23" (field_expression "Input_section>_>\n           ._M_impl._M_finish" (field_expression "Input_section>_>\n           ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) && (parenthesized_expression "(((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))" ( (parenthesized_expression "((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0))" ( (binary_expression "(this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)" (binary_expression "(this->field_0x91 & 4) == 0" (parenthesized_expression "(this->field_0x91 & 4)" ( (binary_expression "this->field_0x91 & 4" (field_expression "this->field_0x91" identifier -> field_identifier) & number_literal) )) == number_literal) && (parenthesized_expression "((this->field_0x91 & 8) == 0)" ( (binary_expression "(this->field_0x91 & 8) == 0" (parenthesized_expression "(this->field_0x91 & 8)" ( (binary_expression "this->field_0x91 & 8" (field_expression "this->field_0x91" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;\n        if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }\n      }" { (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_002f9f1a;" 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)) )) (goto_statement "goto LAB_002f9f1a;" goto statement_identifier ;)) (if_statement "if ((parameters->options_->Map_).user_set_via_option == false) {\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }" if (parenthesized_expression "((parameters->options_->Map_).user_set_via_option == false)" ( (binary_expression "(parameters->options_->Map_).user_set_via_option == false" (field_expression "(parameters->options_->Map_).user_set_via_option" (parenthesized_expression "(parameters->options_->Map_)" ( (field_expression "parameters->options_->Map_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          pTVar8 = parameters->target_;\n          puVar25 = ppOVar24;\n          if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }\n        }" { (expression_statement "pTVar8 = parameters->target_;" (assignment_expression "pTVar8 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (expression_statement "puVar25 = ppOVar24;" (assignment_expression "puVar25 = ppOVar24" identifier = identifier) ;) (if_statement "if (pTVar8 == (Target *)0x0) {\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" if (parenthesized_expression "(pTVar8 == (Target *)0x0)" ( (binary_expression "pTVar8 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;\n            *(char **)((int)puVar25 + -8) = "target";\n            *(undefined4 *)((int)puVar25 + -0xc) = 0x69;\n            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" { (labeled_statement "LAB_002f9f4f:\n            *(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;" statement_identifier : (expression_statement "*(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21;" (assignment_expression "*(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4) = paVar21" (pointer_expression "*(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4)" * (cast_expression "(anon_union_8_2_227b06d7_for_u1_ **)((int)puVar25 + -4)" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)puVar25 + -8) = "target";" (assignment_expression "*(char **)((int)puVar25 + -8) = "target"" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""target"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x2f9f68" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if ((parameters->debug_ & 8) == 0) {\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }" if (parenthesized_expression "((parameters->debug_ & 8) == 0)" ( (binary_expression "(parameters->debug_ & 8) == 0" (parenthesized_expression "(parameters->debug_ & 8)" ( (binary_expression "parameters->debug_ & 8" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            p_Var9 = pTVar8->_vptr_Target[0x1c];\n            if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }\n            if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }\n          }" { (expression_statement "p_Var9 = pTVar8->_vptr_Target[0x1c];" (assignment_expression "p_Var9 = pTVar8->_vptr_Target[0x1c]" identifier = (subscript_expression "pTVar8->_vptr_Target[0x1c]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var9 == Target::do_may_relax) {\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }\n            else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }" if (parenthesized_expression "(p_Var9 == Target::do_may_relax)" ( (binary_expression "p_Var9 == Target" identifier == identifier) (ERROR "::do_may_relax" : : identifier) )) (compound_statement "{\n              ppOVar24[-1] = (Output_section *)0x2f9d0b;\n              cVar12 = Target::do_may_relax((Target *)*ppOVar24);\n            }" { (expression_statement "ppOVar24[-1] = (Output_section *)0x2f9d0b;" (assignment_expression "ppOVar24[-1] = (Output_section *)0x2f9d0b" (subscript_expression "ppOVar24[-1]" identifier [ number_literal ]) = (cast_expression "(Output_section *)0x2f9d0b" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "cVar12 = Target::" (assignment_expression "cVar12 = Target" identifier = identifier) : :) (expression_statement "do_may_relax((Target *)*ppOVar24);" (call_expression "do_may_relax((Target *)*ppOVar24)" identifier (argument_list "((Target *)*ppOVar24)" ( (cast_expression "(Target *)*ppOVar24" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppOVar24" * identifier)) ))) ;) }) (else_clause "else {\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }" else (compound_statement "{\n              ppOVar24[-4] = (Output_section *)pTVar8;\n              ppOVar24[-5] = (Output_section *)0x2f9ef6;\n              iVar20 = (*p_Var9)();\n              cVar12 = (char)iVar20;\n            }" { (expression_statement "ppOVar24[-4] = (Output_section *)pTVar8;" (assignment_expression "ppOVar24[-4] = (Output_section *)pTVar8" (subscript_expression "ppOVar24[-4]" identifier [ number_literal ]) = (cast_expression "(Output_section *)pTVar8" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppOVar24[-5] = (Output_section *)0x2f9ef6;" (assignment_expression "ppOVar24[-5] = (Output_section *)0x2f9ef6" (subscript_expression "ppOVar24[-5]" identifier [ number_literal ]) = (cast_expression "(Output_section *)0x2f9ef6" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar20 = (*p_Var9)();" (assignment_expression "iVar20 = (*p_Var9)()" identifier = (call_expression "(*p_Var9)()" (parenthesized_expression "(*p_Var9)" ( (pointer_expression "*p_Var9" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar12 = (char)iVar20;" (assignment_expression "cVar12 = (char)iVar20" identifier = (cast_expression "(char)iVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (if_statement "if ((cVar12 == '\0') && (layout->section_ordering_specified_ == false)) {\n              return CONCAT44(pOVar13,paVar21);\n            }" if (parenthesized_expression "((cVar12 == '\0') && (layout->section_ordering_specified_ == false))" ( (binary_expression "(cVar12 == '\0') && (layout->section_ordering_specified_ == false)" (parenthesized_expression "(cVar12 == '\0')" ( (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(layout->section_ordering_specified_ == false)" ( (binary_expression "layout->section_ordering_specified_ == false" (field_expression "layout->section_ordering_specified_" identifier -> field_identifier) == false) ))) )) (compound_statement "{\n              return CONCAT44(pOVar13,paVar21);\n            }" { (return_statement "return CONCAT44(pOVar13,paVar21);" return (call_expression "CONCAT44(pOVar13,paVar21)" identifier (argument_list "(pOVar13,paVar21)" ( identifier , identifier ))) ;) })) })) })) })) })) }))) (labeled_statement "LAB_002f9862:\n  *(uint *)((int)ppOVar24 + -0xc) = local_60;" statement_identifier : (expression_statement "*(uint *)((int)ppOVar24 + -0xc) = local_60;" (assignment_expression "*(uint *)((int)ppOVar24 + -0xc) = local_60" (pointer_expression "*(uint *)((int)ppOVar24 + -0xc)" * (cast_expression "(uint *)((int)ppOVar24 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(uint *)((int)ppOVar24 + -0x10) = local_64;" (assignment_expression "*(uint *)((int)ppOVar24 + -0x10) = local_64" (pointer_expression "*(uint *)((int)ppOVar24 + -0x10)" * (cast_expression "(uint *)((int)ppOVar24 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "fill_data._M_dataplus._M_p = (pointer)shndx;" (assignment_expression "fill_data._M_dataplus._M_p = (pointer)shndx" (field_expression "fill_data._M_dataplus._M_p" (field_expression "fill_data._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)shndx" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9879;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9879" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "fill_data._M_string_length = __ffsdi2();" (assignment_expression "fill_data._M_string_length = __ffsdi2()" (field_expression "fill_data._M_string_length" identifier . field_identifier) = (call_expression "__ffsdi2()" identifier (argument_list "()" ( )))) ;) (expression_statement "fill_data.field_2._12_4_ = 0;" (assignment_expression "fill_data.field_2._12_4_ = 0" (field_expression "fill_data.field_2._12_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (shndx + 4 < 4) {\n    *(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX;\n    *(char **)((int)ppOVar24 + -8) = "Input_section";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\n  }" if (parenthesized_expression "(shndx + 4 < 4)" ( (binary_expression "shndx + 4 < 4" (binary_expression "shndx + 4" identifier + number_literal) < number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX;\n    *(char **)((int)ppOVar24 + -8) = "Input_section";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\n  }" { (expression_statement "*(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -4)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -4)" ( (binary_expression "(int)ppOVar24 + -4" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)ppOVar24 + -8) = "Input_section";" (assignment_expression "*(char **)((int)ppOVar24 + -8) = "Input_section"" (pointer_expression "*(char **)((int)ppOVar24 + -8)" * (cast_expression "(char **)((int)ppOVar24 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Input_section"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0xc) = 0xe9a" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0xc)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";" (assignment_expression "*(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h"" (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/output.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f1a" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8))" identifier (argument_list "(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8))" ( (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppOVar24 + -0xc)" * (cast_expression "(int *)((int)ppOVar24 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppOVar24 + -8)" * (cast_expression "(char **)((int)ppOVar24 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "fill_data.field_2._M_allocated_capacity = local_7c;" (assignment_expression "fill_data.field_2._M_allocated_capacity = local_7c" (field_expression "fill_data.field_2._M_allocated_capacity" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "fill_data.field_2._4_4_ = 0;" (assignment_expression "fill_data.field_2._4_4_ = 0" (field_expression "fill_data.field_2._4_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "fill_data.field_2._8_4_ = object;" (assignment_expression "fill_data.field_2._8_4_ = object" (field_expression "fill_data.field_2._8_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pIVar23 = (pointer)local_68;" (assignment_expression "pIVar23 = (pointer)local_68" identifier = (cast_expression "(pointer)local_68" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\nLAB_002f9f1a:\n    *(pointer *)((int)ppOVar24 + -4) = pIVar23;\n    *(char **)((int)ppOVar24 + -8) = "options";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\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 "{\nLAB_002f9f1a:\n    *(pointer *)((int)ppOVar24 + -4) = pIVar23;\n    *(char **)((int)ppOVar24 + -8) = "options";\n    *(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c;\n    *(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33;\n    do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));\n  }" { (labeled_statement "LAB_002f9f1a:\n    *(pointer *)((int)ppOVar24 + -4) = pIVar23;" statement_identifier : (expression_statement "*(pointer *)((int)ppOVar24 + -4) = pIVar23;" (assignment_expression "*(pointer *)((int)ppOVar24 + -4) = pIVar23" (pointer_expression "*(pointer *)((int)ppOVar24 + -4)" * (cast_expression "(pointer *)((int)ppOVar24 + -4)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -4)" ( (binary_expression "(int)ppOVar24 + -4" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppOVar24 + -8) = "options";" (assignment_expression "*(char **)((int)ppOVar24 + -8) = "options"" (pointer_expression "*(char **)((int)ppOVar24 + -8)" * (cast_expression "(char **)((int)ppOVar24 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""options"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0xc)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9f33" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8))" identifier (argument_list "(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),\n                        *(char **)((int)ppOVar24 + -8))" ( (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppOVar24 + -0xc)" * (cast_expression "(int *)((int)ppOVar24 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppOVar24 + -8)" * (cast_expression "(char **)((int)ppOVar24 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if ((parameters->options_->section_ordering_file_).value == (char *)0x0) goto LAB_002f9954;" if (parenthesized_expression "((parameters->options_->section_ordering_file_).value == (char *)0x0)" ( (binary_expression "(parameters->options_->section_ordering_file_).value == (char *)0x0" (field_expression "(parameters->options_->section_ordering_file_).value" (parenthesized_expression "(parameters->options_->section_ordering_file_)" ( (field_expression "parameters->options_->section_ordering_file_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002f9954;" goto statement_identifier ;)) (expression_statement "*(char **)((int)ppOVar24 + -0x10) = secname;" (assignment_expression "*(char **)((int)ppOVar24 + -0x10) = secname" (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "paVar6 = &local_34.u1_;" (assignment_expression "paVar6 = &local_34.u1_" identifier = (pointer_expression "&local_34.u1_" & (field_expression "local_34.u1_" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f98e5;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f98e5" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34.shndx_ = (uint)paVar6;" (assignment_expression "local_34.shndx_ = (uint)paVar6" (field_expression "local_34.shndx_" identifier . field_identifier) = (cast_expression "(uint)paVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "sVar14 = strlen(*(char **)((int)ppOVar24 + -0x10));" (assignment_expression "sVar14 = strlen(*(char **)((int)ppOVar24 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppOVar24 + -0x10))" identifier (argument_list "(*(char **)((int)ppOVar24 + -0x10))" ( (pointer_expression "*(char **)((int)ppOVar24 + -0x10)" * (cast_expression "(char **)((int)ppOVar24 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "__dnew = sVar14;" (assignment_expression "__dnew = sVar14" identifier = identifier) ;) (if_statement "if (sVar14 < 0x10) {\n    paVar17 = paVar6;\n    if (sVar14 == 1) {\n      local_34.u1_.data_size._0_1_ = *secname;\n    }\n    else if (sVar14 != 0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)ppOVar24 + -8) = 0;\n    *(size_type **)((int)ppOVar24 + -0xc) = &__dnew;\n    *(Input_section **)((int)ppOVar24 + -0x10) = &local_34;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;\n    local_34.shndx_ =\n         std::string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));\n    local_34.u1_.entsize._0_4_ = __dnew;\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\nLAB_002f9d83:\n    *(size_t *)((int)ppOVar24 + -8) = sVar14;\n    *(char **)((int)ppOVar24 + -0xc) = secname;\n    *(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8));\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\n  }" if (parenthesized_expression "(sVar14 < 0x10)" ( (binary_expression "sVar14 < 0x10" identifier < number_literal) )) (compound_statement "{\n    paVar17 = paVar6;\n    if (sVar14 == 1) {\n      local_34.u1_.data_size._0_1_ = *secname;\n    }\n    else if (sVar14 != 0) goto LAB_002f9d83;\n  }" { (expression_statement "paVar17 = paVar6;" (assignment_expression "paVar17 = paVar6" identifier = identifier) ;) (if_statement "if (sVar14 == 1) {\n      local_34.u1_.data_size._0_1_ = *secname;\n    }\n    else if (sVar14 != 0) goto LAB_002f9d83;" if (parenthesized_expression "(sVar14 == 1)" ( (binary_expression "sVar14 == 1" identifier == number_literal) )) (compound_statement "{\n      local_34.u1_.data_size._0_1_ = *secname;\n    }" { (expression_statement "local_34.u1_.data_size._0_1_ = *secname;" (assignment_expression "local_34.u1_.data_size._0_1_ = *secname" (field_expression "local_34.u1_.data_size._0_1_" (field_expression "local_34.u1_.data_size" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "*secname" * identifier)) ;) }) (else_clause "else if (sVar14 != 0) goto LAB_002f9d83;" else (if_statement "if (sVar14 != 0) goto LAB_002f9d83;" if (parenthesized_expression "(sVar14 != 0)" ( (binary_expression "sVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002f9d83;" goto statement_identifier ;)))) }) (else_clause "else {\n    *(undefined4 *)((int)ppOVar24 + -8) = 0;\n    *(size_type **)((int)ppOVar24 + -0xc) = &__dnew;\n    *(Input_section **)((int)ppOVar24 + -0x10) = &local_34;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;\n    local_34.shndx_ =\n         std::string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));\n    local_34.u1_.entsize._0_4_ = __dnew;\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\nLAB_002f9d83:\n    *(size_t *)((int)ppOVar24 + -8) = sVar14;\n    *(char **)((int)ppOVar24 + -0xc) = secname;\n    *(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8));\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\n  }" else (compound_statement "{\n    *(undefined4 *)((int)ppOVar24 + -8) = 0;\n    *(size_type **)((int)ppOVar24 + -0xc) = &__dnew;\n    *(Input_section **)((int)ppOVar24 + -0x10) = &local_34;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;\n    local_34.shndx_ =\n         std::string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));\n    local_34.u1_.entsize._0_4_ = __dnew;\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\nLAB_002f9d83:\n    *(size_t *)((int)ppOVar24 + -8) = sVar14;\n    *(char **)((int)ppOVar24 + -0xc) = secname;\n    *(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8));\n    paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;\n  }" { (expression_statement "*(undefined4 *)((int)ppOVar24 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -8)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(size_type **)((int)ppOVar24 + -0xc) = &__dnew;" (assignment_expression "*(size_type **)((int)ppOVar24 + -0xc) = &__dnew" (pointer_expression "*(size_type **)((int)ppOVar24 + -0xc)" * (cast_expression "(size_type **)((int)ppOVar24 + -0xc)" ( (type_descriptor "size_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&__dnew" & identifier)) ;) (expression_statement "*(Input_section **)((int)ppOVar24 + -0x10) = &local_34;" (assignment_expression "*(Input_section **)((int)ppOVar24 + -0x10) = &local_34" (pointer_expression "*(Input_section **)((int)ppOVar24 + -0x10)" * (cast_expression "(Input_section **)((int)ppOVar24 + -0x10)" ( (type_descriptor "Input_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d74" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_34.shndx_ =\n         std::" (assignment_expression "local_34.shndx_ =\n         std" (field_expression "local_34.shndx_" identifier . field_identifier) = identifier) : :) (labeled_statement "string::_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc));" (call_expression "_M_create(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc))" identifier (argument_list "(*(uint **)((int)ppOVar24 + -0x10),*(uint *)((int)ppOVar24 + -0xc))" ( (pointer_expression "*(uint **)((int)ppOVar24 + -0x10)" * (cast_expression "(uint **)((int)ppOVar24 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)ppOVar24 + -0xc)" * (cast_expression "(uint *)((int)ppOVar24 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "local_34.u1_.entsize._0_4_ = __dnew;" (assignment_expression "local_34.u1_.entsize._0_4_ = __dnew" (field_expression "local_34.u1_.entsize._0_4_" (field_expression "local_34.u1_.entsize" (field_expression "local_34.u1_" identifier . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;" (assignment_expression "paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_" identifier = (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_34.shndx_" identifier . field_identifier))) ;) (labeled_statement "LAB_002f9d83:\n    *(size_t *)((int)ppOVar24 + -8) = sVar14;" statement_identifier : (expression_statement "*(size_t *)((int)ppOVar24 + -8) = sVar14;" (assignment_expression "*(size_t *)((int)ppOVar24 + -8) = sVar14" (pointer_expression "*(size_t *)((int)ppOVar24 + -8)" * (cast_expression "(size_t *)((int)ppOVar24 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppOVar24 + -0xc) = secname;" (assignment_expression "*(char **)((int)ppOVar24 + -0xc) = secname" (pointer_expression "*(char **)((int)ppOVar24 + -0xc)" * (cast_expression "(char **)((int)ppOVar24 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17;" (assignment_expression "*(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10) = paVar17" (pointer_expression "*(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10)" * (cast_expression "(anon_union_8_2_227b06d7_for_u1_ **)((int)ppOVar24 + -0x10)" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9d93" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8));" (call_expression "memcpy(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8))" identifier (argument_list "(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),\n           *(size_t *)((int)ppOVar24 + -8))" ( (pointer_expression "*(void **)((int)ppOVar24 + -0x10)" * (cast_expression "(void **)((int)ppOVar24 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)ppOVar24 + -0xc)" * (cast_expression "(void **)((int)ppOVar24 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)ppOVar24 + -8)" * (cast_expression "(size_t *)((int)ppOVar24 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_;" (assignment_expression "paVar17 = (anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_" identifier = (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_34.shndx_" identifier . field_identifier))) ;) }))) (expression_statement "*(undefined1 *)((int)paVar17 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((int)paVar17 + __dnew) = 0" (pointer_expression "*(undefined1 *)((int)paVar17 + __dnew)" * (cast_expression "(undefined1 *)((int)paVar17 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar17 + __dnew)" ( (binary_expression "(int)paVar17 + __dnew" (cast_expression "(int)paVar17" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(Input_section **)((int)ppOVar24 + -0xc) = &local_34;" (assignment_expression "*(Input_section **)((int)ppOVar24 + -0xc) = &local_34" (pointer_expression "*(Input_section **)((int)ppOVar24 + -0xc)" * (cast_expression "(Input_section **)((int)ppOVar24 + -0xc)" ( (type_descriptor "Input_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(Layout **)((int)ppOVar24 + -0x10) = layout;" (assignment_expression "*(Layout **)((int)ppOVar24 + -0x10) = layout" (pointer_expression "*(Layout **)((int)ppOVar24 + -0x10)" * (cast_expression "(Layout **)((int)ppOVar24 + -0x10)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9923;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9923" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34.p2align_ = __dnew;" (assignment_expression "local_34.p2align_ = __dnew" (field_expression "local_34.p2align_" identifier . field_identifier) = identifier) ;) (ERROR "uVar15 = Layout::" (assignment_expression "uVar15 = Layout" identifier = identifier) : :) (expression_statement "find_section_order_index\n                     (*(Layout **)((int)ppOVar24 + -0x10),*(string **)((int)ppOVar24 + -0xc));" (call_expression "find_section_order_index\n                     (*(Layout **)((int)ppOVar24 + -0x10),*(string **)((int)ppOVar24 + -0xc))" identifier (argument_list "(*(Layout **)((int)ppOVar24 + -0x10),*(string **)((int)ppOVar24 + -0xc))" ( (pointer_expression "*(Layout **)((int)ppOVar24 + -0x10)" * (cast_expression "(Layout **)((int)ppOVar24 + -0x10)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(string **)((int)ppOVar24 + -0xc)" * (cast_expression "(string **)((int)ppOVar24 + -0xc)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if ((anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_ != paVar6) {\n    *(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d;\n    operator_delete(*(void **)((int)ppOVar24 + -0x10));\n  }" if (parenthesized_expression "((anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_ != paVar6)" ( (binary_expression "(anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_ != paVar6" (cast_expression "(anon_union_8_2_227b06d7_for_u1_ *)local_34.shndx_" ( (type_descriptor "anon_union_8_2_227b06d7_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_34.shndx_" identifier . field_identifier)) != identifier) )) (compound_statement "{\n    *(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_;\n    *(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d;\n    operator_delete(*(void **)((int)ppOVar24 + -0x10));\n  }" { (expression_statement "*(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_;" (assignment_expression "*(uint *)((int)ppOVar24 + -0x10) = local_34.shndx_" (pointer_expression "*(uint *)((int)ppOVar24 + -0x10)" * (cast_expression "(uint *)((int)ppOVar24 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_34.shndx_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f993d" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)ppOVar24 + -0x10));" (call_expression "operator_delete(*(void **)((int)ppOVar24 + -0x10))" identifier (argument_list "(*(void **)((int)ppOVar24 + -0x10))" ( (pointer_expression "*(void **)((int)ppOVar24 + -0x10)" * (cast_expression "(void **)((int)ppOVar24 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (uVar15 != 0) {\n    this->field_0x91 = this->field_0x91 | 2;\n    fill_data.field_2._12_4_ = uVar15;\n  }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    this->field_0x91 = this->field_0x91 | 2;\n    fill_data.field_2._12_4_ = uVar15;\n  }" { (expression_statement "this->field_0x91 = this->field_0x91 | 2;" (assignment_expression "this->field_0x91 = this->field_0x91 | 2" (field_expression "this->field_0x91" identifier -> field_identifier) = (binary_expression "this->field_0x91 | 2" (field_expression "this->field_0x91" identifier -> field_identifier) | number_literal)) ;) (expression_statement "fill_data.field_2._12_4_ = uVar15;" (assignment_expression "fill_data.field_2._12_4_ = uVar15" (field_expression "fill_data.field_2._12_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier) = identifier) ;) })) (labeled_statement "LAB_002f9954:\n  pIVar23 = (this->input_sections_).\n            super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ._M_impl._M_finish;" statement_identifier : (ERROR "pIVar23 = (this->input_sections_).\n            super__Vector_base<gold::" (assignment_expression "pIVar23 = (this->input_sections_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->input_sections_).\n            super__Vector_base<gold" (field_expression "(this->input_sections_).\n            super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n            ._M_impl._M_finish;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n            ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n            ._M_impl._M_finish;" (field_expression "Input_section>_>\n            ._M_impl._M_finish" (field_expression "Input_section>_>\n            ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)))) (if_statement "if (pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n      ._M_impl._M_end_of_storage) {\n    pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p;\n    pIVar23->p2align_ = fill_data._M_string_length;\n    *(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity;\n    *(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_;\n    pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_;\n    pIVar23->section_order_index_ = fill_data.field_2._12_4_;\n    (this->input_sections_).\n    super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;\n    return CONCAT44(pOVar13,paVar21);\n  }" if (parenthesized_expression "(pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n      ._M_impl._M_end_of_storage)" ( (ERROR "pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::" (comma_expression "pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold::Output_section::Input_section,_std" (binary_expression "pIVar23 !=\n      (this->input_sections_).\n      super__Vector_base<gold" identifier != (binary_expression "(this->input_sections_).\n      super__Vector_base<gold" (field_expression "(this->input_sections_).\n      super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section::Input_section" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section>_>\n      ._M_impl._M_end_of_storage" (field_expression "Input_section>_>\n      ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p;\n    pIVar23->p2align_ = fill_data._M_string_length;\n    *(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity;\n    *(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_;\n    pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_;\n    pIVar23->section_order_index_ = fill_data.field_2._12_4_;\n    (this->input_sections_).\n    super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;\n    return CONCAT44(pOVar13,paVar21);\n  }" { (expression_statement "pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p;" (assignment_expression "pIVar23->shndx_ = (uint)fill_data._M_dataplus._M_p" (field_expression "pIVar23->shndx_" identifier -> field_identifier) = (cast_expression "(uint)fill_data._M_dataplus._M_p" ( (type_descriptor "uint" type_identifier) ) (field_expression "fill_data._M_dataplus._M_p" (field_expression "fill_data._M_dataplus" identifier . field_identifier) . field_identifier))) ;) (expression_statement "pIVar23->p2align_ = fill_data._M_string_length;" (assignment_expression "pIVar23->p2align_ = fill_data._M_string_length" (field_expression "pIVar23->p2align_" identifier -> field_identifier) = (field_expression "fill_data._M_string_length" identifier . field_identifier)) ;) (expression_statement "*(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity;" (assignment_expression "*(size_type *)&pIVar23->u1_ = fill_data.field_2._M_allocated_capacity" (pointer_expression "*(size_type *)&pIVar23->u1_" * (cast_expression "(size_type *)&pIVar23->u1_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIVar23->u1_" & (field_expression "pIVar23->u1_" identifier -> field_identifier)))) = (field_expression "fill_data.field_2._M_allocated_capacity" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_;" (assignment_expression "*(undefined4 *)((int)&pIVar23->u1_ + 4) = fill_data.field_2._4_4_" (pointer_expression "*(undefined4 *)((int)&pIVar23->u1_ + 4)" * (cast_expression "(undefined4 *)((int)&pIVar23->u1_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar23->u1_ + 4)" ( (binary_expression "(int)&pIVar23->u1_ + 4" (cast_expression "(int)&pIVar23->u1_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar23->u1_" & (field_expression "pIVar23->u1_" identifier -> field_identifier))) + number_literal) )))) = (field_expression "fill_data.field_2._4_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_;" (assignment_expression "pIVar23->u2_ = (anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_" (field_expression "pIVar23->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_4_4_139239c7_for_u2_)fill_data.field_2._8_4_" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_" type_identifier) ) (field_expression "fill_data.field_2._8_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier))) ;) (expression_statement "pIVar23->section_order_index_ = fill_data.field_2._12_4_;" (assignment_expression "pIVar23->section_order_index_ = fill_data.field_2._12_4_" (field_expression "pIVar23->section_order_index_" identifier -> field_identifier) = (field_expression "fill_data.field_2._12_4_" (field_expression "fill_data.field_2" identifier . field_identifier) . field_identifier)) ;) (ERROR "(this->input_sections_).\n    super__Vector_base<gold::" (binary_expression "(this->input_sections_).\n    super__Vector_base<gold" (field_expression "(this->input_sections_).\n    super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1;" (assignment_expression "Input_section>_>\n    ._M_impl._M_finish = pIVar23 + 1" (field_expression "Input_section>_>\n    ._M_impl._M_finish" (field_expression "Input_section>_>\n    ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pIVar23 + 1" identifier + number_literal)) ;))) (return_statement "return CONCAT44(pOVar13,paVar21);" return (call_expression "CONCAT44(pOVar13,paVar21)" identifier (argument_list "(pOVar13,paVar21)" ( identifier , identifier ))) ;) })) (expression_statement "*(string **)((int)ppOVar24 + -8) = &fill_data;" (assignment_expression "*(string **)((int)ppOVar24 + -8) = &fill_data" (pointer_expression "*(string **)((int)ppOVar24 + -8)" * (cast_expression "(string **)((int)ppOVar24 + -8)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&fill_data" & identifier)) ;) (expression_statement "*(pointer *)((int)ppOVar24 + -0xc) = pIVar23;" (assignment_expression "*(pointer *)((int)ppOVar24 + -0xc) = pIVar23" (pointer_expression "*(pointer *)((int)ppOVar24 + -0xc)" * (cast_expression "(pointer *)((int)ppOVar24 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Input_section_list **)((int)ppOVar24 + -0x10) = &this->input_sections_;" (assignment_expression "*(Input_section_list **)((int)ppOVar24 + -0x10) = &this->input_sections_" (pointer_expression "*(Input_section_list **)((int)ppOVar24 + -0x10)" * (cast_expression "(Input_section_list **)((int)ppOVar24 + -0x10)" ( (type_descriptor "Input_section_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0x10)" ( (binary_expression "(int)ppOVar24 + -0x10" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&this->input_sections_" & (field_expression "this->input_sections_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9dbc;" (assignment_expression "*(undefined4 *)((int)ppOVar24 + -0x14) = 0x2f9dbc" (pointer_expression "*(undefined4 *)((int)ppOVar24 + -0x14)" * (cast_expression "(undefined4 *)((int)ppOVar24 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppOVar24 + -0x14)" ( (binary_expression "(int)ppOVar24 + -0x14" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n  vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ::_M_realloc_insert<const_gold::Output_section::Input_section&>\n            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier (ERROR "::\n  vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ::_M_realloc_insert<const_gold::Output_section::Input_section&>\n            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n  ::_M_realloc_insert<const_gold::Output_section::Input_section&>\n            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier (ERROR "::Input_section>_>\n  ::_M_realloc_insert<const_gold:" : : (binary_expression "Input_section>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section&>\n            (*(vector<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier (ERROR "::Input_section&>\n            (*(vector<gold:" : : identifier (ERROR "&" &) > ( * ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n               **)((int)ppOVar24 + -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" statement_identifier : (ERROR ":Input_section>_>\n               **)((int)ppOVar24" : (binary_expression "Input_section>_" identifier > identifier) > * * ) ( ( primitive_type (ERROR ")" )) identifier) (expression_statement "+ -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8));" (comma_expression "+ -0x10),*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8)" (unary_expression "+ -0x10" + number_literal) (ERROR ")" )) , (comma_expression "*(Input_section **)((int)ppOVar24 + -0xc),\n             *(Input_section **)((int)ppOVar24 + -8)" (pointer_expression "*(Input_section **)((int)ppOVar24 + -0xc)" * (cast_expression "(Input_section **)((int)ppOVar24 + -0xc)" ( (type_descriptor "Input_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -0xc)" ( (binary_expression "(int)ppOVar24 + -0xc" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Input_section **)((int)ppOVar24 + -8)" * (cast_expression "(Input_section **)((int)ppOVar24 + -8)" ( (type_descriptor "Input_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar24 + -8)" ( (binary_expression "(int)ppOVar24 + -8" (cast_expression "(int)ppOVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) (ERROR ")" )) ;))))))) (return_statement "return CONCAT44(pOVar13,paVar21);" return (call_expression "CONCAT44(pOVar13,paVar21)" identifier (argument_list "(pOVar13,paVar21)" ( identifier , identifier ))) ;) (ERROR "}" }))
(translation_unit "longlong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)\n\n{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    \n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}\n\n" (function_definition "longlong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)\n\n{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    \n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" type_identifier (function_declarator "FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" identifier (parameter_list "(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" ( (parameter_declaration "undefined4 ******param_1" type_identifier (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 ****param_3" type_identifier (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))) , (parameter_declaration "undefined4 *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) , (parameter_declaration "undefined4 ******param_5" type_identifier (pointer_declarator "******param_5" * (pointer_declarator "*****param_5" * (pointer_declarator "****param_5" * (pointer_declarator "***param_5" * (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))))))) , (parameter_declaration "int *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) ))) (compound_statement "{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    \n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" { (declaration "undefined4 ***pppuVar1;" type_identifier (pointer_declarator "***pppuVar1" * (pointer_declarator "**pppuVar1" * (pointer_declarator "*pppuVar1" * identifier))) ;) (declaration "undefined4 ***pppuVar2;" type_identifier (pointer_declarator "***pppuVar2" * (pointer_declarator "**pppuVar2" * (pointer_declarator "*pppuVar2" * identifier))) ;) (declaration "undefined4 ****ppppuVar3;" type_identifier (pointer_declarator "****ppppuVar3" * (pointer_declarator "***ppppuVar3" * (pointer_declarator "**ppppuVar3" * (pointer_declarator "*ppppuVar3" * identifier)))) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar9;" type_identifier (pointer_declarator "*******pppppppuVar9" * (pointer_declarator "******pppppppuVar9" * (pointer_declarator "*****pppppppuVar9" * (pointer_declarator "****pppppppuVar9" * (pointer_declarator "***pppppppuVar9" * (pointer_declarator "**pppppppuVar9" * (pointer_declarator "*pppppppuVar9" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuVar12;" type_identifier (pointer_declarator "*******pppppppuVar12" * (pointer_declarator "******pppppppuVar12" * (pointer_declarator "*****pppppppuVar12" * (pointer_declarator "****pppppppuVar12" * (pointer_declarator "***pppppppuVar12" * (pointer_declarator "**pppppppuVar12" * (pointer_declarator "*pppppppuVar12" * identifier))))))) ;) (declaration "undefined4 ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "undefined4 ***pppuVar14;" type_identifier (pointer_declarator "***pppuVar14" * (pointer_declarator "**pppuVar14" * (pointer_declarator "*pppuVar14" * identifier))) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar16;" type_identifier (pointer_declarator "*******pppppppuVar16" * (pointer_declarator "******pppppppuVar16" * (pointer_declarator "*****pppppppuVar16" * (pointer_declarator "****pppppppuVar16" * (pointer_declarator "***pppppppuVar16" * (pointer_declarator "**pppppppuVar16" * (pointer_declarator "*pppppppuVar16" * identifier))))))) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *****pppppuVar18;" type_identifier (pointer_declarator "*****pppppuVar18" * (pointer_declarator "****pppppuVar18" * (pointer_declarator "***pppppuVar18" * (pointer_declarator "**pppppuVar18" * (pointer_declarator "*pppppuVar18" * identifier))))) ;) (declaration "undefined4 *******pppppppuVar19;" type_identifier (pointer_declarator "*******pppppppuVar19" * (pointer_declarator "******pppppppuVar19" * (pointer_declarator "*****pppppppuVar19" * (pointer_declarator "****pppppppuVar19" * (pointer_declarator "***pppppppuVar19" * (pointer_declarator "**pppppppuVar19" * (pointer_declarator "*pppppppuVar19" * identifier))))))) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 ******ppppppuVar21;" type_identifier (pointer_declarator "******ppppppuVar21" * (pointer_declarator "*****ppppppuVar21" * (pointer_declarator "****ppppppuVar21" * (pointer_declarator "***ppppppuVar21" * (pointer_declarator "**ppppppuVar21" * (pointer_declarator "*ppppppuVar21" * identifier)))))) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuStack_a0;" type_identifier (pointer_declarator "*******pppppppuStack_a0" * (pointer_declarator "******pppppppuStack_a0" * (pointer_declarator "*****pppppppuStack_a0" * (pointer_declarator "****pppppppuStack_a0" * (pointer_declarator "***pppppppuStack_a0" * (pointer_declarator "**pppppppuStack_a0" * (pointer_declarator "*pppppppuStack_a0" * identifier))))))) ;) (declaration "undefined1 auStack_9c [8];" type_identifier (array_declarator "auStack_9c [8]" identifier [ number_literal ]) ;) (declaration "undefined4 *****local_94;" type_identifier (pointer_declarator "*****local_94" * (pointer_declarator "****local_94" * (pointer_declarator "***local_94" * (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier))))) ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "undefined4 *******local_8c;" type_identifier (pointer_declarator "*******local_8c" * (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier))))))) ;) (declaration "undefined4 *******local_88;" type_identifier (pointer_declarator "*******local_88" * (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))))))) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 *******local_7c;" type_identifier (pointer_declarator "*******local_7c" * (pointer_declarator "******local_7c" * (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))))) ;) (declaration "undefined4 ****local_78;" type_identifier (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))) ;) (declaration "undefined4 *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 *****local_68;" type_identifier (pointer_declarator "*****local_68" * (pointer_declarator "****local_68" * (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))))) ;) (declaration "undefined4 *******local_64;" type_identifier (pointer_declarator "*******local_64" * (pointer_declarator "******local_64" * (pointer_declarator "*****local_64" * (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier))))))) ;) (declaration "undefined4 *****local_60;" type_identifier (pointer_declarator "*****local_60" * (pointer_declarator "****local_60" * (pointer_declarator "***local_60" * (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier))))) ;) (declaration "undefined4 *******local_50;" type_identifier (pointer_declarator "*******local_50" * (pointer_declarator "******local_50" * (pointer_declarator "*****local_50" * (pointer_declarator "****local_50" * (pointer_declarator "***local_50" * (pointer_declarator "**local_50" * (pointer_declarator "*local_50" * identifier))))))) ;) (declaration "undefined4 *******local_4c;" type_identifier (pointer_declarator "*******local_4c" * (pointer_declarator "******local_4c" * (pointer_declarator "*****local_4c" * (pointer_declarator "****local_4c" * (pointer_declarator "***local_4c" * (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier))))))) ;) (declaration "undefined4 ****local_48;" type_identifier (pointer_declarator "****local_48" * (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)))) ;) (declaration "undefined4 *******local_44;" type_identifier (pointer_declarator "*******local_44" * (pointer_declarator "******local_44" * (pointer_declarator "*****local_44" * (pointer_declarator "****local_44" * (pointer_declarator "***local_44" * (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier))))))) ;) (declaration "undefined4 ****local_40;" type_identifier (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))) ;) (declaration "undefined4 ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 *******local_38;" type_identifier (pointer_declarator "*******local_38" * (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))))) ;) (declaration "undefined4 *******local_34;" type_identifier (pointer_declarator "*******local_34" * (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))))) ;) (declaration "undefined4 *******local_30;" type_identifier (pointer_declarator "*******local_30" * (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))))) ;) (declaration "undefined4 *******local_2c;" type_identifier (pointer_declarator "*******local_2c" * (pointer_declarator "******local_2c" * (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))))))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (undefined4 *****)&__DT_PLTGOT;" (assignment_expression "local_68 = (undefined4 *****)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 *****)&__DT_PLTGOT" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_6c = param_8;" (assignment_expression "local_6c = param_8" identifier = identifier) ;) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) (expression_statement "local_7c = *(undefined4 ********)(iVar17 + 0x14);" (assignment_expression "local_7c = *(undefined4 ********)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 0x14)" * (cast_expression "(undefined4 ********)(iVar17 + 0x14)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_64 = *(undefined4 ********)(iVar17 + 0x20);" (assignment_expression "local_64 = *(undefined4 ********)(iVar17 + 0x20)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 0x20)" * (cast_expression "(undefined4 ********)(iVar17 + 0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 0x20)" ( (binary_expression "iVar17 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pppuVar2 = param_3[0xd];" (assignment_expression "pppuVar2 = param_3[0xd]" identifier = (subscript_expression "param_3[0xd]" identifier [ number_literal ])) ;) (if_statement "if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" if (parenthesized_expression "(pppuVar2 != (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 != (undefined4 ***)0x0" identifier != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" { (expression_statement "pppuVar6 = (undefined4 ***)pppuVar2[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar2[2]" identifier = (cast_expression "(undefined4 ***)pppuVar2[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar13 = pppuVar2 + 1;" (assignment_expression "pppuVar13 = pppuVar2 + 1" identifier = (binary_expression "pppuVar2 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" if (parenthesized_expression "((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar2[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar2[2]" identifier [ number_literal ])) != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" { (do_statement "do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);" do (compound_statement "{\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      }" { (while_statement "while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" while (parenthesized_expression "(pppuVar14 = pppuVar6, param_4 <= pppuVar14[4])" ( (comma_expression "pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]" (assignment_expression "pppuVar14 = pppuVar6" identifier = identifier) , (binary_expression "param_4 <= pppuVar14[4]" identifier <= (subscript_expression "pppuVar14[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" { (expression_statement "pppuVar6 = (undefined4 ***)pppuVar14[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar14[2]" identifier = (cast_expression "(undefined4 ***)pppuVar14[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar13 = pppuVar14;" (assignment_expression "pppuVar13 = pppuVar14" identifier = identifier) ;) (if_statement "if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;" if (parenthesized_expression "((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar14[2]" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar14[2]" identifier [ number_literal ])) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f96c8;" goto statement_identifier ;)) })) (expression_statement "pppuVar1 = pppuVar14 + 3;" (assignment_expression "pppuVar1 = pppuVar14 + 3" identifier = (binary_expression "pppuVar14 + 3" identifier + number_literal)) ;) (expression_statement "pppuVar6 = (undefined4 ***)*pppuVar1;" (assignment_expression "pppuVar6 = (undefined4 ***)*pppuVar1" identifier = (cast_expression "(undefined4 ***)*pppuVar1" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*pppuVar1" * identifier))) ;) (expression_statement "pppuVar14 = pppuVar13;" (assignment_expression "pppuVar14 = pppuVar13" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0)" ( (binary_expression "(undefined4 ***)*pppuVar1 != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)*pppuVar1" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*pppuVar1" * identifier)) != (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) ;) (labeled_statement "LAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" statement_identifier : (if_statement "if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" if (parenthesized_expression "((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4))" ( (binary_expression "(pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)" (parenthesized_expression "(pppuVar2 + 1 != pppuVar14)" ( (binary_expression "pppuVar2 + 1 != pppuVar14" (binary_expression "pppuVar2 + 1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(pppuVar14[4] <= param_4)" ( (binary_expression "pppuVar14[4] <= param_4" (subscript_expression "pppuVar14[4]" identifier [ number_literal ]) <= identifier) ))) )) (compound_statement "{\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" { (expression_statement "local_7c = (undefined4 *******)pppuVar14[5];" (assignment_expression "local_7c = (undefined4 *******)pppuVar14[5]" identifier = (cast_expression "(undefined4 *******)pppuVar14[5]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppuVar14[5]" identifier [ number_literal ]))) ;) (expression_statement "local_60 = (undefined4 *****)pppuVar14[9];" (assignment_expression "local_60 = (undefined4 *****)pppuVar14[9]" identifier = (cast_expression "(undefined4 *****)pppuVar14[9]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppuVar14[9]" identifier [ number_literal ]))) ;) (expression_statement "local_64 = (undefined4 *******)pppuVar14[8];" (assignment_expression "local_64 = (undefined4 *******)pppuVar14[8]" identifier = (cast_expression "(undefined4 *******)pppuVar14[8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppuVar14[8]" identifier [ number_literal ]))) ;) }))) })) })) (if_statement "if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" if (parenthesized_expression "(((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0)" ( (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0" (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0" (parenthesized_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60)" ( (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60" (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1)" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((local_64 != (undefined4 *******)0x0) - 1)" ( (binary_expression "(local_64 != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) - number_literal) ))) & (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) || (binary_expression "((uint)local_64 & (int)local_64 - 1U) != 0" (parenthesized_expression "((uint)local_64 & (int)local_64 - 1U)" ( (binary_expression "(uint)local_64 & (int)local_64 - 1U" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & (binary_expression "(int)local_64 - 1U" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) != number_literal)) )) (compound_statement "{\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" { (expression_statement "uVar11 = gettext("invalid alignment %lu for section \"%s\"");" (assignment_expression "uVar11 = gettext("invalid alignment %lu for section \"%s\"")" identifier = (call_expression "gettext("invalid alignment %lu for section \"%s\"")" identifier (argument_list "("invalid alignment %lu for section \"%s\"")" ( (string_literal ""invalid alignment %lu for section \"%s\""" " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_5;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_5" identifier = (cast_expression "(undefined4 *******)param_5" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "FUN_0028b750(param_3,uVar11,local_64);" (call_expression "FUN_0028b750(param_3,uVar11,local_64)" identifier (argument_list "(param_3,uVar11,local_64)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_64 = (undefined4 *******)0x1;" (assignment_expression "local_64 = (undefined4 *******)0x1" identifier = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) })) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (expression_statement "pppppuVar18 = param_1[10];" (assignment_expression "pppppuVar18 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = (uint)(param_1[9] < local_64);" (assignment_expression "uVar4 = (uint)(param_1[9] < local_64)" identifier = (call_expression "(uint)(param_1[9] < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[9] < local_64)" ( (binary_expression "param_1[9] < local_64" (subscript_expression "param_1[9]" identifier [ number_literal ]) < identifier) )))) ;) (expression_statement "uVar5 = (int)pppppuVar18 - (int)local_60;" (assignment_expression "uVar5 = (int)pppppuVar18 - (int)local_60" identifier = (binary_expression "(int)pppppuVar18 - (int)local_60" (cast_expression "(int)pppppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;" (assignment_expression "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4" identifier = (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" identifier < identifier) || (binary_expression "uVar5 < uVar4" identifier < identifier))) ;) (expression_statement "bVar24 = uVar5 == uVar4;" (assignment_expression "bVar24 = uVar5 == uVar4" identifier = (binary_expression "uVar5 == uVar4" identifier == identifier)) ;) (if_statement "if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" if (parenthesized_expression "(pppppuVar18 < local_60 || uVar5 < uVar4)" ( (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" identifier < identifier) || (binary_expression "uVar5 < uVar4" identifier < identifier)) )) (compound_statement "{\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" { (expression_statement "param_1[9] = local_64;" (assignment_expression "param_1[9] = local_64" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[10] = local_60;" (assignment_expression "param_1[10] = local_60" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_74 = *(undefined4 ********)(iVar17 + 8);" (assignment_expression "local_74 = *(undefined4 ********)(iVar17 + 8)" identifier = (pointer_expression "*(undefined4 ********)(iVar17 + 8)" * (cast_expression "(undefined4 ********)(iVar17 + 8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" identifier = number_literal) ;) (expression_statement "local_84 = *(uint *)(iVar17 + 0x24);" (assignment_expression "local_84 = *(uint *)(iVar17 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar17 + 0x24)" * (cast_expression "(uint *)(iVar17 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x24)" ( (binary_expression "iVar17 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "ppppppuVar21 = param_5;" (assignment_expression "ppppppuVar21 = param_5" identifier = identifier) ;) (expression_statement "pbVar22 = (byte *)((int)local_68 + -0x157e09);" (assignment_expression "pbVar22 = (byte *)((int)local_68 + -0x157e09)" identifier = (cast_expression "(byte *)((int)local_68 + -0x157e09)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + -0x157e09)" ( (binary_expression "(int)local_68 + -0x157e09" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);" do (compound_statement "{\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *(byte *)ppppppuVar21 < *pbVar22;" (assignment_expression "bVar23 = *(byte *)ppppppuVar21 < *pbVar22" identifier = (binary_expression "*(byte *)ppppppuVar21 < *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" * (cast_expression "(byte *)ppppppuVar21" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *(byte *)ppppppuVar21 == *pbVar22;" (assignment_expression "bVar24 = *(byte *)ppppppuVar21 == *pbVar22" identifier = (binary_expression "*(byte *)ppppppuVar21 == *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" * (cast_expression "(byte *)ppppppuVar21" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);" (assignment_expression "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" identifier = (cast_expression "(undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" ( (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2 + 1" (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2" (cast_expression "(int)ppppppuVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" { (expression_statement "local_74 = (undefined4 *******)((uint)local_74 | 0x30);" (assignment_expression "local_74 = (undefined4 *******)((uint)local_74 | 0x30)" identifier = (cast_expression "(undefined4 *******)((uint)local_74 | 0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)local_74 | 0x30)" ( (binary_expression "(uint)local_74 | 0x30" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "local_84 = 1;" (assignment_expression "local_84 = 1" identifier = number_literal) ;) })) (expression_statement "pppppppuVar16 = local_74;" (assignment_expression "pppppppuVar16 = local_74" identifier = identifier) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "FUN_002c6770(param_1,local_74,0);" (call_expression "FUN_002c6770(param_1,local_74,0)" identifier (argument_list "(param_1,local_74,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" if (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 2) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x92) & 2) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 2)" ( (binary_expression "*(byte *)((int)param_1 + 0x92) & 2" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9773;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9773" identifier = (cast_expression "(undefined4 *******)0x2f9773" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "FUN_002c4e40();" (call_expression "FUN_002c4e40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" if (parenthesized_expression "(((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0))" ( (binary_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)" (parenthesized_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0))" ( (binary_expression "(((uint)local_74 & 0x10) != 0) && (param_7 == 0)" (parenthesized_expression "(((uint)local_74 & 0x10) != 0)" ( (binary_expression "((uint)local_74 & 0x10) != 0" (parenthesized_expression "((uint)local_74 & 0x10)" ( (binary_expression "(uint)local_74 & 0x10" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(*(int *)(*param_6 + 0x14) != 0)" ( (binary_expression "*(int *)(*param_6 + 0x14) != 0" (pointer_expression "*(int *)(*param_6 + 0x14)" * (cast_expression "(int *)(*param_6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x14)" ( (binary_expression "*param_6 + 0x14" (pointer_expression "*param_6" * identifier) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (expression_statement "cVar8 = FUN_0030afd0(*local_94);" (assignment_expression "cVar8 = FUN_0030afd0(*local_94)" identifier = (call_expression "FUN_0030afd0(*local_94)" identifier (argument_list "(*local_94)" ( (pointer_expression "*local_94" * identifier) )))) ;) (if_statement "if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" { (if_statement "if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }" if (parenthesized_expression "(((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0'))" ( (binary_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x92) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 0x10)" ( (binary_expression "*(byte *)((int)param_1 + 0x92) & 0x10" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }" { (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" identifier = (pointer_expression "*local_94" * identifier)) ;) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" if (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0))" ( (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" ( (comma_expression "uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0" (assignment_expression "uVar7 = 1" identifier = number_literal) , (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" { (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" if (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" ( (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ])) == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9b16;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9b16" identifier = (cast_expression "(undefined4 *******)0x2f9b16" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "uVar7 = FUN_002c5030();" (assignment_expression "uVar7 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" else (compound_statement "{\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" { (expression_statement "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" identifier = (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" ( (pointer_expression "*(code *)(*pppuVar2)[0x1c]" * (cast_expression "(code *)(*pppuVar2)[0x1c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(pppuVar2)" ( identifier )))) ;) }))) })) }) (else_clause "else {\n        uVar7 = 1;\n      }" else (compound_statement "{\n        uVar7 = 1;\n      }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) }))) (expression_statement "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);" (assignment_expression "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" identifier = (call_expression "FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" identifier (argument_list "(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" ( identifier , identifier , identifier , identifier , number_literal , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar8 != '\0') {\n        return -1;\n      }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return -1;\n      }" { (return_statement "return -1;" return number_literal ;) })) })) })) (expression_statement "local_78 = (undefined4 ****)0x0;" (assignment_expression "local_78 = (undefined4 ****)0x0" identifier = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25);" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25)" identifier = (call_expression "CONCAT31(local_84._1_3_,bVar25)" identifier (argument_list "(local_84._1_3_,bVar25)" ( (field_expression "local_84._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" if (parenthesized_expression "((bVar25 & 0x20) != 0)" ( (binary_expression "(bVar25 & 0x20) != 0" (parenthesized_expression "(bVar25 & 0x20)" ( (binary_expression "bVar25 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" { (expression_statement "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);" (assignment_expression "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" identifier = (call_expression "FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" identifier (argument_list "(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" ( (binary_expression "param_1 + 0x2d" identifier + number_literal) , identifier , number_literal , identifier , identifier , number_literal , number_literal )))) ;) (if_statement "if (lVar26 != -1) {\n      return lVar26;\n    }" if (parenthesized_expression "(lVar26 != -1)" ( (binary_expression "lVar26 != -1" identifier != number_literal) )) (compound_statement "{\n      return lVar26;\n    }" { (return_statement "return lVar26;" return identifier ;) })) (expression_statement "pppppuVar18 = param_1[8];" (assignment_expression "pppppuVar18 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = gettext(local_68 + -0x55fdf);" (assignment_expression "uVar11 = gettext(local_68 + -0x55fdf)" identifier = (call_expression "gettext(local_68 + -0x55fdf)" identifier (argument_list "(local_68 + -0x55fdf)" ( (binary_expression "local_68 + -0x55fdf" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b7e0(uVar11,pppppuVar18);" (call_expression "FUN_0023b7e0(uVar11,pppppuVar18)" identifier (argument_list "(uVar11,pppppuVar18)" ( identifier , identifier ))) ;) })) (expression_statement "local_88 = (undefined4 *******)param_1[4];" (assignment_expression "local_88 = (undefined4 *******)param_1[4]" identifier = (cast_expression "(undefined4 *******)param_1[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "local_8c = (undefined4 *******)param_1[3];" (assignment_expression "local_8c = (undefined4 *******)param_1[3]" identifier = (cast_expression "(undefined4 *******)param_1[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar16 = local_8c;" (assignment_expression "pppppppuVar16 = local_8c" identifier = identifier) ;) (expression_statement "pppppppuVar9 = local_88;" (assignment_expression "pppppppuVar9 = local_88" identifier = identifier) ;) (if_statement "if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" if (parenthesized_expression "(local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0" (binary_expression "local_60 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) || (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" { (expression_statement "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);" (assignment_expression "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" identifier = (cast_expression "(undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)local_8c - 1U) + (int)local_64)" ( (binary_expression "((int)local_8c - 1U) + (int)local_64" (parenthesized_expression "((int)local_8c - 1U)" ( (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);" (assignment_expression "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" identifier = (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64)" (binary_expression "(int)local_88 +\n               (int)local_60" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((int)local_8c - 1U,(uint)local_64)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_8c - 1U,(uint)local_64)" identifier (argument_list "((int)local_8c - 1U,(uint)local_64)" ( (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) , (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((local_8c != (undefined4 *******)0x0) - 1)" ( (binary_expression "(local_8c != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_8c != (undefined4 *******)0x0)" ( (binary_expression "local_8c != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) - number_literal) )))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64)" identifier = (cast_expression "(undefined4 *******)((uint)local_94 & -(int)local_64)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)local_94 & -(int)local_64)" ( (binary_expression "(uint)local_94 & -(int)local_64" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)local_64" - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));" (assignment_expression "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" identifier = (cast_expression "(undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" ( (binary_expression "local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" identifier & (unary_expression "-((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" - (parenthesized_expression "((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" ( (binary_expression "(int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(local_64 != (undefined4 *******)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 != (undefined4 *******)0x0)" ( (binary_expression "local_64 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )))) )))) )))) ;) })) (if_statement "if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" if (parenthesized_expression "(((uint)param_1[7] & 2) != 0)" ( (binary_expression "((uint)param_1[7] & 2) != 0" (parenthesized_expression "((uint)param_1[7] & 2)" ( (binary_expression "(uint)param_1[7] & 2" (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1" identifier = (cast_expression "(undefined4 *******)param_1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);" (call_expression "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" identifier (argument_list "((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" ( (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_68 + -0x55928" identifier + number_literal) ))) ;) })) (expression_statement "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);" (assignment_expression "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16)" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)((int)local_7c + (int)pppppppuVar16)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_7c + (int)pppppppuVar16)" ( (binary_expression "(int)local_7c + (int)pppppppuVar16" (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));" (assignment_expression "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" ( (binary_expression "(int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_7c,(uint)pppppppuVar16)" identifier (argument_list "((uint)local_7c,(uint)pppppppuVar16)" ( (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pppppppuVar16" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (if_statement "if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" if (parenthesized_expression "(((bVar25 & 1) == 0) && ((char)local_6c == '\0'))" ( (binary_expression "((bVar25 & 1) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((bVar25 & 1) == 0)" ( (binary_expression "(bVar25 & 1) == 0" (parenthesized_expression "(bVar25 & 1)" ( (binary_expression "bVar25 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" if (parenthesized_expression "(((uint)local_74 & 4) == 0)" ( (binary_expression "((uint)local_74 & 4) == 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }" { (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;" if (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9c88;" goto statement_identifier ;)) }) (else_clause "else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" else (compound_statement "{\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" identifier = (pointer_expression "*local_94" * identifier)) ;) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" if (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) == '\0')" ( (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) == '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" * (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar2[1] + 0xe)" ( (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar2[1]" identifier [ number_literal ])) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }" { (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;" if (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) != (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) (goto_statement "goto LAB_002f9bab;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" else (compound_statement "{\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" { (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" if (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0))" ( (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" ( (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" { (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" if (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" ( (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ])) == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9e18;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9e18" identifier = (cast_expression "(undefined4 *******)0x2f9e18" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" else (compound_statement "{\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" { (expression_statement "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" identifier = (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" ( (pointer_expression "*(code *)(*pppuVar2)[0x1c]" * (cast_expression "(code *)(*pppuVar2)[0x1c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(pppuVar2)" ( identifier )))) ;) }))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" if (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" ( (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" * (cast_expression "(char *)(param_2 + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1cd)" ( (binary_expression "param_2 + 0x1cd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" { (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (goto_statement "goto LAB_002f9834;" goto statement_identifier ;) })) })) (if_statement "if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" if (parenthesized_expression "(param_1[0x21] != param_1[0x20])" ( (binary_expression "param_1[0x21] != param_1[0x20]" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) != (subscript_expression "param_1[0x20]" identifier [ number_literal ])) )) (compound_statement "{\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" { (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1[0x20];" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1[0x20]" identifier = (cast_expression "(undefined4 *******)param_1[0x20]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x20]" identifier [ number_literal ]))) ;) (expression_statement "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);" (call_expression "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" identifier (argument_list "((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" ( (binary_expression "(int)local_68 + -0x1582f5" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_68 + -0x55b24" identifier + number_literal) ))) ;) })) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);" (assignment_expression "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" identifier = (cast_expression "(undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "CONCAT31(local_74._1_3_,bVar25)" identifier (argument_list "(local_74._1_3_,bVar25)" ( (field_expression "local_74._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(byte *)((int)param_1 + 0x92) = bVar25 | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x92) = bVar25 | 1" (pointer_expression "*(byte *)((int)param_1 + 0x92)" * (cast_expression "(byte *)((int)param_1 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar25 | 1" identifier | number_literal)) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1" identifier = (binary_expression "CONCAT31(local_84._1_3_,bVar25) | 1" (call_expression "CONCAT31(local_84._1_3_,bVar25)" identifier (argument_list "(local_84._1_3_,bVar25)" ( (field_expression "local_84._1_3_" identifier . field_identifier) , identifier ))) | number_literal)) ;) }))) }))) (labeled_statement "LAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;" statement_identifier : (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (if_statement "if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       ))" ( (binary_expression "((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" (parenthesized_expression "((local_84 & 0x10) == 0)" ( (binary_expression "(local_84 & 0x10) == 0" (parenthesized_expression "(local_84 & 0x10)" ( (binary_expression "local_84 & 0x10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" ( (comma_expression "pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (comma_expression "puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) , (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" { (labeled_statement "LAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;" statement_identifier : (expression_statement "pppppppuVar19 = (undefined4 *******)puVar20;" (assignment_expression "pppppppuVar19 = (undefined4 *******)puVar20" identifier = (cast_expression "(undefined4 *******)puVar20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "pppppuVar18 = param_1[0x1b];" (assignment_expression "pppppuVar18 = param_1[0x1b]" identifier = (subscript_expression "param_1[0x1b]" identifier [ number_literal ])) ;) (if_statement "if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" if (parenthesized_expression "((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         ))" ( (binary_expression "(param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" (parenthesized_expression "(param_1[0x1c] == pppppuVar18)" ( (binary_expression "param_1[0x1c] == pppppuVar18" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" ( (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))" ( (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0)" (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x91) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) && (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 8) == 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x91) & 8) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 8)" ( (binary_expression "*(byte *)((int)param_1 + 0x91) & 8" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" { (expression_statement "ppppuVar3 = local_68[0x1f2];" (assignment_expression "ppppuVar3 = local_68[0x1f2]" identifier = (subscript_expression "local_68[0x1f2]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;" if (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" ( (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f1a;" goto statement_identifier ;)) (if_statement "if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(ppppuVar3[2] + 0x91f) == '\0')" ( (binary_expression "*(char *)(ppppuVar3[2] + 0x91f) == '\0'" (pointer_expression "*(char *)(ppppuVar3[2] + 0x91f)" * (cast_expression "(char *)(ppppuVar3[2] + 0x91f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar3[2] + 0x91f)" ( (binary_expression "ppppuVar3[2] + 0x91f" (subscript_expression "ppppuVar3[2]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" { (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" identifier = (subscript_expression "ppppuVar3[3]" identifier [ number_literal ])) ;) (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" identifier = (cast_expression "(undefined1 *)pppppppuVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" statement_identifier : (expression_statement "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar20 + -4)" * (cast_expression "(undefined4 ********)(puVar20 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;" (assignment_expression "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7" (pointer_expression "*(undefined4 ******)(puVar20 + -8)" * (cast_expression "(undefined4 ******)(puVar20 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "local_68 + -0x558c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" if (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" ( (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" ( (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar3[5]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" { (expression_statement "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];" (assignment_expression "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c]" identifier = (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" if (parenthesized_expression "(pppppuVar18 == local_68 + -0x15e2d0)" ( (binary_expression "pppppuVar18 == local_68 + -0x15e2d0" identifier == (binary_expression "local_68 + -0x15e2d0" identifier + number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" identifier = (call_expression "FUN_002c5030()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" else (compound_statement "{\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" { (expression_statement "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;" (assignment_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2" (pointer_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ****)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar8 = (*(code *)pppppuVar18)();" (assignment_expression "cVar8 = (*(code *)pppppuVar18)()" identifier = (call_expression "(*(code *)pppppuVar18)()" (parenthesized_expression "(*(code *)pppppuVar18)" ( (pointer_expression "*(code *)pppppuVar18" * (cast_expression "(code *)pppppuVar18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" if (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" ( (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" * (cast_expression "(char *)(param_2 + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1cd)" ( (binary_expression "param_2 + 0x1cd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" { (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })) })) })) })) })) }) (else_clause "else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" else (compound_statement "{\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" { (labeled_statement "LAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" statement_identifier : (if_statement "if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" if (parenthesized_expression "(((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0))" ( (binary_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)" (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" ( (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" ( (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" identifier (argument_list "((int)local_88,(int)pppppppuVar9)" ( (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" identifier (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) ))) )))) )) == (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" ( (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" ( (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_8c < pppppppuVar16)" ( (binary_expression "local_8c < pppppppuVar16" identifier < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((local_84 & 1) != 0)" ( (binary_expression "(local_84 & 1) != 0" (parenthesized_expression "(local_84 & 1)" ( (binary_expression "local_84 & 1" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_002f9852;" goto statement_identifier ;))) (if_statement "if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" if (parenthesized_expression "((char)local_6c == '\0')" ( (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" { (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" if (parenthesized_expression "(((uint)local_74 & 4) != 0)" ( (binary_expression "((uint)local_74 & 4) != 0" (parenthesized_expression "((uint)local_74 & 4)" ( (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" { (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" identifier = (binary_expression "local_68 + 0x1f2" identifier + number_literal)) ;) (labeled_statement "LAB_002f9bab:\n        pppuVar2 = (*local_94)[3];" statement_identifier : (expression_statement "pppuVar2 = (*local_94)[3];" (assignment_expression "pppuVar2 = (*local_94)[3]" identifier = (subscript_expression "(*local_94)[3]" (parenthesized_expression "(*local_94)" ( (pointer_expression "*local_94" * identifier) )) [ number_literal ])) ;)) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" identifier = identifier) ;) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" if (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" ( (binary_expression "pppuVar2 == (undefined4 ***)0x0" identifier == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_002f9f4f;" goto statement_identifier ;)) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" if (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) != '\0')" ( (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) != '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" * (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar2[1] + 0xe)" ( (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar2[1]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" { (expression_statement "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);" (assignment_expression "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar16 - (int)local_8c)" ( (binary_expression "(int)pppppppuVar16 - (int)local_8c" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);" (assignment_expression "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" identifier = (binary_expression "(int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" (cast_expression "(int)pppppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" ( (binary_expression "-(uint)(pppppppuVar16 < local_8c) - (int)local_88" (unary_expression "-(uint)(pppppppuVar16 < local_8c)" - (call_expression "(uint)(pppppppuVar16 < local_8c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppuVar16 < local_8c)" ( (binary_expression "pppppppuVar16 < local_8c" identifier < identifier) )))) - (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" if (parenthesized_expression "(param_1[0x1c] == param_1[0x1b])" ( (binary_expression "param_1[0x1c] == param_1[0x1b]" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == (subscript_expression "param_1[0x1b]" identifier [ number_literal ])) )) (compound_statement "{\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }" { (expression_statement "local_34 = local_8c;" (assignment_expression "local_34 = local_8c" identifier = identifier) ;) (expression_statement "local_30 = local_88;" (assignment_expression "local_30 = local_88" identifier = identifier) ;) (if_statement "if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" { (expression_statement "pppppppuStack_a0 = local_88;" (assignment_expression "pppppppuStack_a0 = local_88" identifier = identifier) ;) (expression_statement "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);" (call_expression "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" identifier (argument_list "(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" ( (binary_expression "local_68 + -0x672d3" identifier + number_literal) , number_literal , (binary_expression "local_68 + -0x55b28" identifier + number_literal) ))) ;) })) (expression_statement "local_2c = local_74;" (assignment_expression "local_2c = local_74" identifier = identifier) ;) (expression_statement "FUN_002e83d0(param_1 + 0x20,&local_34);" (call_expression "FUN_002e83d0(param_1 + 0x20,&local_34)" identifier (argument_list "(param_1 + 0x20,&local_34)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" identifier = (cast_expression "(undefined4 *******)auStack_9c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" else (compound_statement "{\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" { (expression_statement "pppppppuVar19 = local_74;" (assignment_expression "pppppppuVar19 = local_74" identifier = identifier) ;) (expression_statement "local_74 = &local_4c;" (assignment_expression "local_74 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);" (call_expression "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19)" (parenthesized_expression "(*(code *)(*pppuVar2)[6])" ( (pointer_expression "*(code *)(*pppuVar2)[6]" * (cast_expression "(code *)(*pppuVar2)[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*pppuVar2)[6]" (parenthesized_expression "(*pppuVar2)" ( (pointer_expression "*pppuVar2" * identifier) )) [ number_literal ]))) )) (argument_list "(&local_4c,pppuVar2,pppppppuVar19)" ( (pointer_expression "&local_4c" & identifier) , identifier , identifier ))) ;) (expression_statement "uVar11 = FUN_003ac4d0(0x44);" (assignment_expression "uVar11 = FUN_003ac4d0(0x44)" identifier = (call_expression "FUN_003ac4d0(0x44)" identifier (argument_list "(0x44)" ( number_literal )))) ;) (expression_statement "local_84 = uVar11;" (assignment_expression "local_84 = uVar11" identifier = identifier) ;) (expression_statement "FUN_002e80a0(uVar11,local_74,1,0);" (call_expression "FUN_002e80a0(uVar11,local_74,1,0)" identifier (argument_list "(uVar11,local_74,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_34 = (undefined4 *******)0xffffffff;" (assignment_expression "local_34 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_2c = (undefined4 *******)0x0;" (assignment_expression "local_2c = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = uVar11;" (assignment_expression "local_24 = uVar11" identifier = identifier) ;) (expression_statement "FUN_002e2370(param_1 + 0x1b,&local_34);" (call_expression "FUN_002e2370(param_1 + 0x1b,&local_34)" identifier (argument_list "(param_1 + 0x1b,&local_34)" ( (binary_expression "param_1 + 0x1b" identifier + number_literal) , (pointer_expression "&local_34" & identifier) ))) ;) (if_statement "if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }" if (parenthesized_expression "((undefined4 ********)local_4c != &local_44)" ( (binary_expression "(undefined4 ********)local_4c != &local_44" (cast_expression "(undefined4 ********)local_4c" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier) != (pointer_expression "&local_44" & identifier)) )) (compound_statement "{\n              FUN_003ae080(local_4c);\n            }" { (expression_statement "FUN_003ae080(local_4c);" (call_expression "FUN_003ae080(local_4c)" identifier (argument_list "(local_4c)" ( identifier ))) ;) })) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier = (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" identifier (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" ( (field_expression "local_84._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" * (cast_expression "(undefined1 *)((int)param_1 + 0x92)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x92)" ( (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pppppppuVar19 = &pppppppuStack_a0;" (assignment_expression "pppppppuVar19 = &pppppppuStack_a0" identifier = (pointer_expression "&pppppppuStack_a0" & identifier)) ;) }))) })) })) (labeled_statement "LAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;" statement_identifier : (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" identifier = (cast_expression "(undefined1 *)pppppppuVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((local_84 & 0x10) != 0) goto LAB_002f9862;" if (parenthesized_expression "((local_84 & 0x10) != 0)" ( (binary_expression "(local_84 & 0x10) != 0" (parenthesized_expression "(local_84 & 0x10)" ( (binary_expression "local_84 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002f9862;" goto statement_identifier ;)) (goto_statement "goto LAB_002f9c92;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" statement_identifier : (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_4c = param_4;" (assignment_expression "local_4c = param_4" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_48 = (undefined4 ****)FUN_00442880();" (assignment_expression "local_48 = (undefined4 ****)FUN_00442880()" identifier = (cast_expression "(undefined4 ****)FUN_00442880()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_00442880()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_38 = (undefined4 *******)0x0;" (assignment_expression "local_38 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(param_4 + 1 < (undefined4 *******)0x4)" ( (binary_expression "param_4 + 1 < (undefined4 *******)0x4" (binary_expression "param_4 + 1" identifier + number_literal) < (cast_expression "(undefined4 *******)0x4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_68 + -0x55b2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_44 = local_7c;" (assignment_expression "local_44 = local_7c" identifier = identifier) ;) (expression_statement "local_40 = local_78;" (assignment_expression "local_40 = local_78" identifier = identifier) ;) (expression_statement "local_3c = param_3;" (assignment_expression "local_3c = param_3" identifier = identifier) ;) (expression_statement "pppppuVar18 = local_68;" (assignment_expression "pppppuVar18 = local_68" identifier = identifier) ;) (if_statement "if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(local_68[0x1f2][2] == (undefined4 ***)0x0)" ( (binary_expression "local_68[0x1f2][2] == (undefined4 ***)0x0" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" identifier [ number_literal ]) [ number_literal ]) == (cast_expression "(undefined4 ***)0x0" ( (type_descriptor "undefined4 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" { (labeled_statement "LAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" statement_identifier : (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -4)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -4)" ( (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_68 + -0x558d2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;" if (parenthesized_expression "(local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0)" ( (binary_expression "local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0" (subscript_expression "local_68[0x1f2][2][0xdb6]" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" identifier [ number_literal ]) [ number_literal ]) [ number_literal ]) == (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_002f9954;" goto statement_identifier ;)) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_74 = &local_34;" (assignment_expression "local_74 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "local_64 = &local_2c;" (assignment_expression "local_64 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_64;" (assignment_expression "local_34 = local_64" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));" (assignment_expression "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" identifier = (cast_expression "(undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "strlen(*(char **)((int)pppppppuVar19 + -0x10))" identifier (argument_list "(*(char **)((int)pppppppuVar19 + -0x10))" ( (pointer_expression "*(char **)((int)pppppppuVar19 + -0x10)" * (cast_expression "(char **)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "local_50 = pppppppuVar10;" (assignment_expression "local_50 = pppppppuVar10" identifier = identifier) ;) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" if (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x10)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)0x10" identifier < (cast_expression "(undefined4 *******)0x10" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }" { (expression_statement "pppppppuVar12 = local_64;" (assignment_expression "pppppppuVar12 = local_64" identifier = identifier) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)0x1)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)0x1" identifier == (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }" { (expression_statement "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);" (assignment_expression "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" identifier = (cast_expression "(undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "CONCAT31(local_2c._1_3_,*(byte *)param_5)" identifier (argument_list "(local_2c._1_3_,*(byte *)param_5)" ( (field_expression "local_2c._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)param_5" * (cast_expression "(byte *)param_5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) }) (else_clause "else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" else (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_002f9d83;" goto statement_identifier ;)))) }) (else_clause "else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" else (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" { (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -8) = 0" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *********" type_identifier (abstract_pointer_declarator "*********" * (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_7c = pppppppuVar10;" (assignment_expression "local_7c = pppppppuVar10" identifier = identifier) ;) (expression_statement "local_34 = (undefined4 *******)FUN_003b5790();" (assignment_expression "local_34 = (undefined4 *******)FUN_003b5790()" identifier = (cast_expression "(undefined4 *******)FUN_003b5790()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_003b5790()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = local_50;" (assignment_expression "local_2c = local_50" identifier = identifier) ;) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" identifier = identifier) ;) (expression_statement "pppppppuVar10 = local_7c;" (assignment_expression "pppppppuVar10 = local_7c" identifier = identifier) ;) (labeled_statement "LAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" statement_identifier : (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));" (call_expression "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" identifier (argument_list "(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" ( (pointer_expression "*(void **)((int)pppppppuVar19 + -0x10)" * (cast_expression "(void **)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)pppppppuVar19 + -0xc)" * (cast_expression "(void **)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)pppppppuVar19 + -8)" * (cast_expression "(size_t *)((int)pppppppuVar19 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;" (assignment_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0" (pointer_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50)" * (cast_expression "(undefined1 *)((int)pppppppuVar12 + (int)local_50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar12 + (int)local_50)" ( (binary_expression "(int)pppppppuVar12 + (int)local_50" (cast_expression "(int)pppppppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = param_2;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = param_2" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" * (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_00279d90();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_00279d90()" identifier = (cast_expression "(undefined4 *******)FUN_00279d90()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_00279d90()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" if (parenthesized_expression "(local_34 != local_64)" ( (binary_expression "local_34 != local_64" identifier != identifier) )) (compound_statement "{\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" { (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_64 = pppppppuVar10;" (assignment_expression "local_64 = pppppppuVar10" identifier = identifier) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar10 = local_64;" (assignment_expression "pppppppuVar10 = local_64" identifier = identifier) ;) })) (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" { (expression_statement "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;" (assignment_expression "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" * (cast_expression "(byte *)((int)param_1 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x91)" ( (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "local_38 = pppppppuVar10;" (assignment_expression "local_38 = pppppppuVar10" identifier = identifier) ;) })) (labeled_statement "LAB_002f9954:\n  pppppuVar18 = param_1[0x1c];" statement_identifier : (expression_statement "pppppuVar18 = param_1[0x1c];" (assignment_expression "pppppuVar18 = param_1[0x1c]" identifier = (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) ;)) (if_statement "if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" if (parenthesized_expression "(pppppuVar18 != param_1[0x1d])" ( (binary_expression "pppppuVar18 != param_1[0x1d]" identifier != (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) )) (compound_statement "{\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" { (expression_statement "*pppppuVar18 = local_4c;" (assignment_expression "*pppppuVar18 = local_4c" (pointer_expression "*pppppuVar18" * identifier) = identifier) ;) (expression_statement "pppppuVar18[1] = local_48;" (assignment_expression "pppppuVar18[1] = local_48" (subscript_expression "pppppuVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[2] = local_44;" (assignment_expression "pppppuVar18[2] = local_44" (subscript_expression "pppppuVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[3] = local_40;" (assignment_expression "pppppuVar18[3] = local_40" (subscript_expression "pppppuVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[4] = local_3c;" (assignment_expression "pppppuVar18[4] = local_3c" (subscript_expression "pppppuVar18[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar18[5] = local_38;" (assignment_expression "pppppuVar18[5] = local_38" (subscript_expression "pppppuVar18[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1c] = pppppuVar18 + 6;" (assignment_expression "param_1[0x1c] = pppppuVar18 + 6" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = (binary_expression "pppppuVar18 + 6" identifier + number_literal)) ;) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -8)" * (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -8)" ( (type_descriptor "undefined4 *********" type_identifier (abstract_pointer_declarator "*********" * (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -8)" ( (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" * (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0xc)" ( (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" * (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 + -0x10)" ( (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x1b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar19 + -0x14)" ( (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002de9c0();" (call_expression "FUN_002de9c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" return (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" identifier (argument_list "(pppppppuVar9,pppppppuVar16)" ( identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) }))) })) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) - LIT) ))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT)) )) != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) || (binary_expression IDENT < IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression IDENT < IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) )) (argument_list ( IDENT )))) ;) }))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , IDENT , IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT & (unary_expression - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )))) )))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) != (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) != (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , 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) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) | LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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 * (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 (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) })) })) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) != (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 * (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (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 * (abstract_pointer_declarator * (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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = 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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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) )))) = (binary_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 = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression IDENT (argument_list ( ))) ;) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))
(function_definition "longlong FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)\n\n{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    \n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" (type_identifier "longlong") (function_declarator "FUN_002f9660(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" (identifier "FUN_002f9660") (parameter_list "(undefined4 ******param_1,int param_2,undefined4 ****param_3,\n                     undefined4 *******param_4,undefined4 ******param_5,int *param_6,int param_7,\n                     undefined4 param_8)" (( "(") (parameter_declaration "undefined4 ******param_1" (type_identifier "undefined4") (pointer_declarator "******param_1" (* "*") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))))))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 ****param_3" (type_identifier "undefined4") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))) (, ",") (parameter_declaration "undefined4 *******param_4" (type_identifier "undefined4") (pointer_declarator "*******param_4" (* "*") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))))) (, ",") (parameter_declaration "undefined4 ******param_5" (type_identifier "undefined4") (pointer_declarator "******param_5" (* "*") (pointer_declarator "*****param_5" (* "*") (pointer_declarator "****param_5" (* "*") (pointer_declarator "***param_5" (* "*") (pointer_declarator "**param_5" (* "*") (pointer_declarator "*param_5" (* "*") (identifier "param_5")))))))) (, ",") (parameter_declaration "int *param_6" (primitive_type "int") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) () ")"))) (compound_statement "{\n  undefined4 ***pppuVar1;\n  undefined4 ***pppuVar2;\n  undefined4 ****ppppuVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 ***pppuVar6;\n  undefined1 uVar7;\n  char cVar8;\n  undefined4 *******pppppppuVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 uVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 ***pppuVar13;\n  undefined4 ***pppuVar14;\n  int iVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 extraout_ECX;\n  int iVar17;\n  undefined4 *****pppppuVar18;\n  undefined4 *******pppppppuVar19;\n  undefined1 *puVar20;\n  undefined4 ******ppppppuVar21;\n  byte *pbVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  longlong lVar26;\n  undefined4 *******pppppppuStack_a0;\n  undefined1 auStack_9c [8];\n  undefined4 *****local_94;\n  uint local_90;\n  undefined4 *******local_8c;\n  undefined4 *******local_88;\n  uint local_84;\n  undefined4 local_80;\n  undefined4 *******local_7c;\n  undefined4 ****local_78;\n  undefined4 *******local_74;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 *****local_68;\n  undefined4 *******local_64;\n  undefined4 *****local_60;\n  undefined4 *******local_50;\n  undefined4 *******local_4c;\n  undefined4 ****local_48;\n  undefined4 *******local_44;\n  undefined4 ****local_40;\n  undefined4 ****local_3c;\n  undefined4 *******local_38;\n  undefined4 *******local_34;\n  undefined4 *******local_30;\n  undefined4 *******local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_68 = (undefined4 *****)&__DT_PLTGOT;\n  local_60 = (undefined4 *****)0x0;\n  local_6c = param_8;\n  iVar17 = *param_6;\n  local_7c = *(undefined4 ********)(iVar17 + 0x14);\n  local_64 = *(undefined4 ********)(iVar17 + 0x20);\n  pppuVar2 = param_3[0xd];\n  if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }\n  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }\n  pppppppuVar19 = (undefined4 *******)auStack_9c;\n  puVar20 = auStack_9c;\n  pppppuVar18 = param_1[10];\n  uVar4 = (uint)(param_1[9] < local_64);\n  uVar5 = (int)pppppuVar18 - (int)local_60;\n  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;\n  bVar24 = uVar5 == uVar4;\n  if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }\n  local_74 = *(undefined4 ********)(iVar17 + 8);\n  iVar15 = 0xb;\n  local_84 = *(uint *)(iVar17 + 0x24);\n  ppppppuVar21 = param_5;\n  pbVar22 = (byte *)((int)local_68 + -0x157e09);\n  do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);\n  if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }\n  pppppppuVar16 = local_74;\n  local_80 = 0;\n  FUN_002c6770(param_1,local_74,0);\n  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }\n  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }\n  local_78 = (undefined4 ****)0x0;\n  bVar25 = *(byte *)((int)param_1 + 0x92);\n  local_84 = CONCAT31(local_84._1_3_,bVar25);\n  if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }\n  local_88 = (undefined4 *******)param_1[4];\n  local_8c = (undefined4 *******)param_1[3];\n  pppppppuVar16 = local_8c;\n  pppppppuVar9 = local_88;\n  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }\n  if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }\n  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);\n  param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));\n  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }\nLAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;\n  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;\n  local_4c = param_4;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;\n  local_48 = (undefined4 ****)FUN_00442880();\n  local_38 = (undefined4 *******)0x0;\n  if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }\n  local_44 = local_7c;\n  local_40 = local_78;\n  local_3c = param_3;\n  pppppuVar18 = local_68;\n  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }\n  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;\n  local_74 = &local_34;\n  local_64 = &local_2c;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;\n  local_34 = local_64;\n  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));\n  local_50 = pppppppuVar10;\n  if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }\n  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;\n  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;\n  *(int *)((int)pppppppuVar19 + -0x10) = param_2;\n                    \n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;\n  local_30 = local_50;\n  pppppppuVar10 = (undefined4 *******)FUN_00279d90();\n  if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }\n  if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }\nLAB_002f9954:\n  pppppuVar18 = param_1[0x1c];\n  if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }\n  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;\n  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;\n  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;\n  FUN_002de9c0();\n  return CONCAT44(pppppppuVar9,pppppppuVar16);\n}" ({ "{") (declaration "undefined4 ***pppuVar1;" (type_identifier "undefined4") (pointer_declarator "***pppuVar1" (* "*") (pointer_declarator "**pppuVar1" (* "*") (pointer_declarator "*pppuVar1" (* "*") (identifier "pppuVar1")))) (; ";")) (declaration "undefined4 ***pppuVar2;" (type_identifier "undefined4") (pointer_declarator "***pppuVar2" (* "*") (pointer_declarator "**pppuVar2" (* "*") (pointer_declarator "*pppuVar2" (* "*") (identifier "pppuVar2")))) (; ";")) (declaration "undefined4 ****ppppuVar3;" (type_identifier "undefined4") (pointer_declarator "****ppppuVar3" (* "*") (pointer_declarator "***ppppuVar3" (* "*") (pointer_declarator "**ppppuVar3" (* "*") (pointer_declarator "*ppppuVar3" (* "*") (identifier "ppppuVar3"))))) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 ***pppuVar6;" (type_identifier "undefined4") (pointer_declarator "***pppuVar6" (* "*") (pointer_declarator "**pppuVar6" (* "*") (pointer_declarator "*pppuVar6" (* "*") (identifier "pppuVar6")))) (; ";")) (declaration "undefined1 uVar7;" (type_identifier "undefined1") (identifier "uVar7") (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "undefined4 *******pppppppuVar9;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar9" (* "*") (pointer_declarator "******pppppppuVar9" (* "*") (pointer_declarator "*****pppppppuVar9" (* "*") (pointer_declarator "****pppppppuVar9" (* "*") (pointer_declarator "***pppppppuVar9" (* "*") (pointer_declarator "**pppppppuVar9" (* "*") (pointer_declarator "*pppppppuVar9" (* "*") (identifier "pppppppuVar9")))))))) (; ";")) (declaration "undefined4 *******pppppppuVar10;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar10" (* "*") (pointer_declarator "******pppppppuVar10" (* "*") (pointer_declarator "*****pppppppuVar10" (* "*") (pointer_declarator "****pppppppuVar10" (* "*") (pointer_declarator "***pppppppuVar10" (* "*") (pointer_declarator "**pppppppuVar10" (* "*") (pointer_declarator "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")))))))) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 *******pppppppuVar12;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar12" (* "*") (pointer_declarator "******pppppppuVar12" (* "*") (pointer_declarator "*****pppppppuVar12" (* "*") (pointer_declarator "****pppppppuVar12" (* "*") (pointer_declarator "***pppppppuVar12" (* "*") (pointer_declarator "**pppppppuVar12" (* "*") (pointer_declarator "*pppppppuVar12" (* "*") (identifier "pppppppuVar12")))))))) (; ";")) (declaration "undefined4 ***pppuVar13;" (type_identifier "undefined4") (pointer_declarator "***pppuVar13" (* "*") (pointer_declarator "**pppuVar13" (* "*") (pointer_declarator "*pppuVar13" (* "*") (identifier "pppuVar13")))) (; ";")) (declaration "undefined4 ***pppuVar14;" (type_identifier "undefined4") (pointer_declarator "***pppuVar14" (* "*") (pointer_declarator "**pppuVar14" (* "*") (pointer_declarator "*pppuVar14" (* "*") (identifier "pppuVar14")))) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined4 *******pppppppuVar16;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar16" (* "*") (pointer_declarator "******pppppppuVar16" (* "*") (pointer_declarator "*****pppppppuVar16" (* "*") (pointer_declarator "****pppppppuVar16" (* "*") (pointer_declarator "***pppppppuVar16" (* "*") (pointer_declarator "**pppppppuVar16" (* "*") (pointer_declarator "*pppppppuVar16" (* "*") (identifier "pppppppuVar16")))))))) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined4 *****pppppuVar18;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar18" (* "*") (pointer_declarator "****pppppuVar18" (* "*") (pointer_declarator "***pppppuVar18" (* "*") (pointer_declarator "**pppppuVar18" (* "*") (pointer_declarator "*pppppuVar18" (* "*") (identifier "pppppuVar18")))))) (; ";")) (declaration "undefined4 *******pppppppuVar19;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar19" (* "*") (pointer_declarator "******pppppppuVar19" (* "*") (pointer_declarator "*****pppppppuVar19" (* "*") (pointer_declarator "****pppppppuVar19" (* "*") (pointer_declarator "***pppppppuVar19" (* "*") (pointer_declarator "**pppppppuVar19" (* "*") (pointer_declarator "*pppppppuVar19" (* "*") (identifier "pppppppuVar19")))))))) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined4 ******ppppppuVar21;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar21" (* "*") (pointer_declarator "*****ppppppuVar21" (* "*") (pointer_declarator "****ppppppuVar21" (* "*") (pointer_declarator "***ppppppuVar21" (* "*") (pointer_declarator "**ppppppuVar21" (* "*") (pointer_declarator "*ppppppuVar21" (* "*") (identifier "ppppppuVar21"))))))) (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "longlong lVar26;" (type_identifier "longlong") (identifier "lVar26") (; ";")) (declaration "undefined4 *******pppppppuStack_a0;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuStack_a0" (* "*") (pointer_declarator "******pppppppuStack_a0" (* "*") (pointer_declarator "*****pppppppuStack_a0" (* "*") (pointer_declarator "****pppppppuStack_a0" (* "*") (pointer_declarator "***pppppppuStack_a0" (* "*") (pointer_declarator "**pppppppuStack_a0" (* "*") (pointer_declarator "*pppppppuStack_a0" (* "*") (identifier "pppppppuStack_a0")))))))) (; ";")) (declaration "undefined1 auStack_9c [8];" (type_identifier "undefined1") (array_declarator "auStack_9c [8]" (identifier "auStack_9c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 *****local_94;" (type_identifier "undefined4") (pointer_declarator "*****local_94" (* "*") (pointer_declarator "****local_94" (* "*") (pointer_declarator "***local_94" (* "*") (pointer_declarator "**local_94" (* "*") (pointer_declarator "*local_94" (* "*") (identifier "local_94")))))) (; ";")) (declaration "uint local_90;" (type_identifier "uint") (identifier "local_90") (; ";")) (declaration "undefined4 *******local_8c;" (type_identifier "undefined4") (pointer_declarator "*******local_8c" (* "*") (pointer_declarator "******local_8c" (* "*") (pointer_declarator "*****local_8c" (* "*") (pointer_declarator "****local_8c" (* "*") (pointer_declarator "***local_8c" (* "*") (pointer_declarator "**local_8c" (* "*") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")))))))) (; ";")) (declaration "undefined4 *******local_88;" (type_identifier "undefined4") (pointer_declarator "*******local_88" (* "*") (pointer_declarator "******local_88" (* "*") (pointer_declarator "*****local_88" (* "*") (pointer_declarator "****local_88" (* "*") (pointer_declarator "***local_88" (* "*") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88")))))))) (; ";")) (declaration "uint local_84;" (type_identifier "uint") (identifier "local_84") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "undefined4 *******local_7c;" (type_identifier "undefined4") (pointer_declarator "*******local_7c" (* "*") (pointer_declarator "******local_7c" (* "*") (pointer_declarator "*****local_7c" (* "*") (pointer_declarator "****local_7c" (* "*") (pointer_declarator "***local_7c" (* "*") (pointer_declarator "**local_7c" (* "*") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")))))))) (; ";")) (declaration "undefined4 ****local_78;" (type_identifier "undefined4") (pointer_declarator "****local_78" (* "*") (pointer_declarator "***local_78" (* "*") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78"))))) (; ";")) (declaration "undefined4 *******local_74;" (type_identifier "undefined4") (pointer_declarator "*******local_74" (* "*") (pointer_declarator "******local_74" (* "*") (pointer_declarator "*****local_74" (* "*") (pointer_declarator "****local_74" (* "*") (pointer_declarator "***local_74" (* "*") (pointer_declarator "**local_74" (* "*") (pointer_declarator "*local_74" (* "*") (identifier "local_74")))))))) (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined4 *****local_68;" (type_identifier "undefined4") (pointer_declarator "*****local_68" (* "*") (pointer_declarator "****local_68" (* "*") (pointer_declarator "***local_68" (* "*") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68")))))) (; ";")) (declaration "undefined4 *******local_64;" (type_identifier "undefined4") (pointer_declarator "*******local_64" (* "*") (pointer_declarator "******local_64" (* "*") (pointer_declarator "*****local_64" (* "*") (pointer_declarator "****local_64" (* "*") (pointer_declarator "***local_64" (* "*") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64")))))))) (; ";")) (declaration "undefined4 *****local_60;" (type_identifier "undefined4") (pointer_declarator "*****local_60" (* "*") (pointer_declarator "****local_60" (* "*") (pointer_declarator "***local_60" (* "*") (pointer_declarator "**local_60" (* "*") (pointer_declarator "*local_60" (* "*") (identifier "local_60")))))) (; ";")) (declaration "undefined4 *******local_50;" (type_identifier "undefined4") (pointer_declarator "*******local_50" (* "*") (pointer_declarator "******local_50" (* "*") (pointer_declarator "*****local_50" (* "*") (pointer_declarator "****local_50" (* "*") (pointer_declarator "***local_50" (* "*") (pointer_declarator "**local_50" (* "*") (pointer_declarator "*local_50" (* "*") (identifier "local_50")))))))) (; ";")) (declaration "undefined4 *******local_4c;" (type_identifier "undefined4") (pointer_declarator "*******local_4c" (* "*") (pointer_declarator "******local_4c" (* "*") (pointer_declarator "*****local_4c" (* "*") (pointer_declarator "****local_4c" (* "*") (pointer_declarator "***local_4c" (* "*") (pointer_declarator "**local_4c" (* "*") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")))))))) (; ";")) (declaration "undefined4 ****local_48;" (type_identifier "undefined4") (pointer_declarator "****local_48" (* "*") (pointer_declarator "***local_48" (* "*") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))))) (; ";")) (declaration "undefined4 *******local_44;" (type_identifier "undefined4") (pointer_declarator "*******local_44" (* "*") (pointer_declarator "******local_44" (* "*") (pointer_declarator "*****local_44" (* "*") (pointer_declarator "****local_44" (* "*") (pointer_declarator "***local_44" (* "*") (pointer_declarator "**local_44" (* "*") (pointer_declarator "*local_44" (* "*") (identifier "local_44")))))))) (; ";")) (declaration "undefined4 ****local_40;" (type_identifier "undefined4") (pointer_declarator "****local_40" (* "*") (pointer_declarator "***local_40" (* "*") (pointer_declarator "**local_40" (* "*") (pointer_declarator "*local_40" (* "*") (identifier "local_40"))))) (; ";")) (declaration "undefined4 ****local_3c;" (type_identifier "undefined4") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))))) (; ";")) (declaration "undefined4 *******local_38;" (type_identifier "undefined4") (pointer_declarator "*******local_38" (* "*") (pointer_declarator "******local_38" (* "*") (pointer_declarator "*****local_38" (* "*") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38")))))))) (; ";")) (declaration "undefined4 *******local_34;" (type_identifier "undefined4") (pointer_declarator "*******local_34" (* "*") (pointer_declarator "******local_34" (* "*") (pointer_declarator "*****local_34" (* "*") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34")))))))) (; ";")) (declaration "undefined4 *******local_30;" (type_identifier "undefined4") (pointer_declarator "*******local_30" (* "*") (pointer_declarator "******local_30" (* "*") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30")))))))) (; ";")) (declaration "undefined4 *******local_2c;" (type_identifier "undefined4") (pointer_declarator "*******local_2c" (* "*") (pointer_declarator "******local_2c" (* "*") (pointer_declarator "*****local_2c" (* "*") (pointer_declarator "****local_2c" (* "*") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")))))))) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = (undefined4 *****)&__DT_PLTGOT;" (assignment_expression "local_68 = (undefined4 *****)&__DT_PLTGOT" (identifier "local_68") (= "=") (cast_expression "(undefined4 *****)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" (identifier "local_60") (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_6c = param_8;" (assignment_expression "local_6c = param_8" (identifier "local_6c") (= "=") (identifier "param_8")) (; ";")) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" (identifier "iVar17") (= "=") (pointer_expression "*param_6" (* "*") (identifier "param_6"))) (; ";")) (expression_statement "local_7c = *(undefined4 ********)(iVar17 + 0x14);" (assignment_expression "local_7c = *(undefined4 ********)(iVar17 + 0x14)" (identifier "local_7c") (= "=") (pointer_expression "*(undefined4 ********)(iVar17 + 0x14)" (* "*") (cast_expression "(undefined4 ********)(iVar17 + 0x14)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(iVar17 + 0x14)" (( "(") (binary_expression "iVar17 + 0x14" (identifier "iVar17") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_64 = *(undefined4 ********)(iVar17 + 0x20);" (assignment_expression "local_64 = *(undefined4 ********)(iVar17 + 0x20)" (identifier "local_64") (= "=") (pointer_expression "*(undefined4 ********)(iVar17 + 0x20)" (* "*") (cast_expression "(undefined4 ********)(iVar17 + 0x20)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(iVar17 + 0x20)" (( "(") (binary_expression "iVar17 + 0x20" (identifier "iVar17") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pppuVar2 = param_3[0xd];" (assignment_expression "pppuVar2 = param_3[0xd]" (identifier "pppuVar2") (= "=") (subscript_expression "param_3[0xd]" (identifier "param_3") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (pppuVar2 != (undefined4 ***)0x0) {\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" (if "if") (parenthesized_expression "(pppuVar2 != (undefined4 ***)0x0)" (( "(") (binary_expression "pppuVar2 != (undefined4 ***)0x0" (identifier "pppuVar2") (!= "!=") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppuVar6 = (undefined4 ***)pppuVar2[2];\n    pppuVar13 = pppuVar2 + 1;\n    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }\n  }" ({ "{") (expression_statement "pppuVar6 = (undefined4 ***)pppuVar2[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar2[2]" (identifier "pppuVar6") (= "=") (cast_expression "(undefined4 ***)pppuVar2[2]" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar2[2]" (identifier "pppuVar2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppuVar13 = pppuVar2 + 1;" (assignment_expression "pppuVar13 = pppuVar2 + 1" (identifier "pppuVar13") (= "=") (binary_expression "pppuVar2 + 1" (identifier "pppuVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" (if "if") (parenthesized_expression "((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0)" (( "(") (binary_expression "(undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar2[2]" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar2[2]" (identifier "pppuVar2") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);\nLAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }\n    }" ({ "{") (do_statement "do {\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);" (do "do") (compound_statement "{\n        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }\n        pppuVar1 = pppuVar14 + 3;\n        pppuVar6 = (undefined4 ***)*pppuVar1;\n        pppuVar14 = pppuVar13;\n      }" ({ "{") (while_statement "while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" (while "while") (parenthesized_expression "(pppuVar14 = pppuVar6, param_4 <= pppuVar14[4])" (( "(") (comma_expression "pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]" (assignment_expression "pppuVar14 = pppuVar6" (identifier "pppuVar14") (= "=") (identifier "pppuVar6")) (, ",") (binary_expression "param_4 <= pppuVar14[4]" (identifier "param_4") (<= "<=") (subscript_expression "pppuVar14[4]" (identifier "pppuVar14") ([ "[") (number_literal "4") (] "]")))) () ")")) (compound_statement "{\n          pppuVar6 = (undefined4 ***)pppuVar14[2];\n          pppuVar13 = pppuVar14;\n          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;\n        }" ({ "{") (expression_statement "pppuVar6 = (undefined4 ***)pppuVar14[2];" (assignment_expression "pppuVar6 = (undefined4 ***)pppuVar14[2]" (identifier "pppuVar6") (= "=") (cast_expression "(undefined4 ***)pppuVar14[2]" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar14[2]" (identifier "pppuVar14") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppuVar13 = pppuVar14;" (assignment_expression "pppuVar13 = pppuVar14" (identifier "pppuVar13") (= "=") (identifier "pppuVar14")) (; ";")) (if_statement "if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;" (if "if") (parenthesized_expression "((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0)" (( "(") (binary_expression "(undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0" (cast_expression "(undefined4 ***)pppuVar14[2]" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar14[2]" (identifier "pppuVar14") ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f96c8;" (goto "goto") (statement_identifier "LAB_002f96c8") (; ";"))) (} "}"))) (expression_statement "pppuVar1 = pppuVar14 + 3;" (assignment_expression "pppuVar1 = pppuVar14 + 3" (identifier "pppuVar1") (= "=") (binary_expression "pppuVar14 + 3" (identifier "pppuVar14") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pppuVar6 = (undefined4 ***)*pppuVar1;" (assignment_expression "pppuVar6 = (undefined4 ***)*pppuVar1" (identifier "pppuVar6") (= "=") (cast_expression "(undefined4 ***)*pppuVar1" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*pppuVar1" (* "*") (identifier "pppuVar1")))) (; ";")) (expression_statement "pppuVar14 = pppuVar13;" (assignment_expression "pppuVar14 = pppuVar13" (identifier "pppuVar14") (= "=") (identifier "pppuVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0)" (( "(") (binary_expression "(undefined4 ***)*pppuVar1 != (undefined4 ***)0x0" (cast_expression "(undefined4 ***)*pppuVar1" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*pppuVar1" (* "*") (identifier "pppuVar1"))) (!= "!=") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_002f96c8:\n      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" (statement_identifier "LAB_002f96c8") (: ":") (if_statement "if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" (if "if") (parenthesized_expression "((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4))" (( "(") (binary_expression "(pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)" (parenthesized_expression "(pppuVar2 + 1 != pppuVar14)" (( "(") (binary_expression "pppuVar2 + 1 != pppuVar14" (binary_expression "pppuVar2 + 1" (identifier "pppuVar2") (+ "+") (number_literal "1")) (!= "!=") (identifier "pppuVar14")) () ")")) (&& "&&") (parenthesized_expression "(pppuVar14[4] <= param_4)" (( "(") (binary_expression "pppuVar14[4] <= param_4" (subscript_expression "pppuVar14[4]" (identifier "pppuVar14") ([ "[") (number_literal "4") (] "]")) (<= "<=") (identifier "param_4")) () ")"))) () ")")) (compound_statement "{\n        local_7c = (undefined4 *******)pppuVar14[5];\n        local_60 = (undefined4 *****)pppuVar14[9];\n        local_64 = (undefined4 *******)pppuVar14[8];\n      }" ({ "{") (expression_statement "local_7c = (undefined4 *******)pppuVar14[5];" (assignment_expression "local_7c = (undefined4 *******)pppuVar14[5]" (identifier "local_7c") (= "=") (cast_expression "(undefined4 *******)pppuVar14[5]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppuVar14[5]" (identifier "pppuVar14") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "local_60 = (undefined4 *****)pppuVar14[9];" (assignment_expression "local_60 = (undefined4 *****)pppuVar14[9]" (identifier "local_60") (= "=") (cast_expression "(undefined4 *****)pppuVar14[9]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "pppuVar14[9]" (identifier "pppuVar14") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "local_64 = (undefined4 *******)pppuVar14[8];" (assignment_expression "local_64 = (undefined4 *******)pppuVar14[8]" (identifier "local_64") (= "=") (cast_expression "(undefined4 *******)pppuVar14[8]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppuVar14[8]" (identifier "pppuVar14") ([ "[") (number_literal "8") (] "]")))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (if_statement "if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0) {\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" (if "if") (parenthesized_expression "(((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0)" (( "(") (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||\n      ((uint)local_64 & (int)local_64 - 1U) != 0" (binary_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0" (parenthesized_expression "((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60)" (( "(") (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60" (binary_expression "(int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1)" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (parenthesized_expression "((local_64 != (undefined4 *******)0x0) - 1)" (( "(") (binary_expression "(local_64 != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_64 != (undefined4 *******)0x0)" (( "(") (binary_expression "local_64 != (undefined4 *******)0x0" (identifier "local_64") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (- "-") (number_literal "1")) () ")"))) (& "&") (cast_expression "(uint)local_60" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_60"))) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "((uint)local_64 & (int)local_64 - 1U) != 0" (parenthesized_expression "((uint)local_64 & (int)local_64 - 1U)" (( "(") (binary_expression "(uint)local_64 & (int)local_64 - 1U" (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64")) (& "&") (binary_expression "(int)local_64 - 1U" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (- "-") (number_literal "1U"))) () ")")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar11 = gettext("invalid alignment %lu for section \"%s\"");\n    pppppppuStack_a0 = (undefined4 *******)param_5;\n    FUN_0028b750(param_3,uVar11,local_64);\n    local_64 = (undefined4 *******)0x1;\n    local_60 = (undefined4 *****)0x0;\n    iVar17 = *param_6;\n  }" ({ "{") (expression_statement "uVar11 = gettext("invalid alignment %lu for section \"%s\"");" (assignment_expression "uVar11 = gettext("invalid alignment %lu for section \"%s\"")" (identifier "uVar11") (= "=") (call_expression "gettext("invalid alignment %lu for section \"%s\"")" (identifier "gettext") (argument_list "("invalid alignment %lu for section \"%s\"")" (( "(") (string_literal ""invalid alignment %lu for section \"%s\""" (" """) (string_content "invalid alignment %lu for section ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) () ")")))) (; ";")) (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_5;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_5" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)param_5" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "param_5"))) (; ";")) (expression_statement "FUN_0028b750(param_3,uVar11,local_64);" (call_expression "FUN_0028b750(param_3,uVar11,local_64)" (identifier "FUN_0028b750") (argument_list "(param_3,uVar11,local_64)" (( "(") (identifier "param_3") (, ",") (identifier "uVar11") (, ",") (identifier "local_64") () ")"))) (; ";")) (expression_statement "local_64 = (undefined4 *******)0x1;" (assignment_expression "local_64 = (undefined4 *******)0x1" (identifier "local_64") (= "=") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_60 = (undefined4 *****)0x0;" (assignment_expression "local_60 = (undefined4 *****)0x0" (identifier "local_60") (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar17 = *param_6;" (assignment_expression "iVar17 = *param_6" (identifier "iVar17") (= "=") (pointer_expression "*param_6" (* "*") (identifier "param_6"))) (; ";")) (} "}"))) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";")) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" (identifier "puVar20") (= "=") (identifier "auStack_9c")) (; ";")) (expression_statement "pppppuVar18 = param_1[10];" (assignment_expression "pppppuVar18 = param_1[10]" (identifier "pppppuVar18") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "uVar4 = (uint)(param_1[9] < local_64);" (assignment_expression "uVar4 = (uint)(param_1[9] < local_64)" (identifier "uVar4") (= "=") (call_expression "(uint)(param_1[9] < local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1[9] < local_64)" (( "(") (binary_expression "param_1[9] < local_64" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (< "<") (identifier "local_64")) () ")")))) (; ";")) (expression_statement "uVar5 = (int)pppppuVar18 - (int)local_60;" (assignment_expression "uVar5 = (int)pppppuVar18 - (int)local_60" (identifier "uVar5") (= "=") (binary_expression "(int)pppppuVar18 - (int)local_60" (cast_expression "(int)pppppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar18")) (- "-") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")))) (; ";")) (expression_statement "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;" (assignment_expression "bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4" (identifier "bVar23") (= "=") (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" (identifier "pppppuVar18") (< "<") (identifier "local_60")) (|| "||") (binary_expression "uVar5 < uVar4" (identifier "uVar5") (< "<") (identifier "uVar4")))) (; ";")) (expression_statement "bVar24 = uVar5 == uVar4;" (assignment_expression "bVar24 = uVar5 == uVar4" (identifier "bVar24") (= "=") (binary_expression "uVar5 == uVar4" (identifier "uVar5") (== "==") (identifier "uVar4"))) (; ";")) (if_statement "if (pppppuVar18 < local_60 || uVar5 < uVar4) {\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" (if "if") (parenthesized_expression "(pppppuVar18 < local_60 || uVar5 < uVar4)" (( "(") (binary_expression "pppppuVar18 < local_60 || uVar5 < uVar4" (binary_expression "pppppuVar18 < local_60" (identifier "pppppuVar18") (< "<") (identifier "local_60")) (|| "||") (binary_expression "uVar5 < uVar4" (identifier "uVar5") (< "<") (identifier "uVar4"))) () ")")) (compound_statement "{\n    param_1[9] = local_64;\n    param_1[10] = local_60;\n  }" ({ "{") (expression_statement "param_1[9] = local_64;" (assignment_expression "param_1[9] = local_64" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_64")) (; ";")) (expression_statement "param_1[10] = local_60;" (assignment_expression "param_1[10] = local_60" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "local_60")) (; ";")) (} "}"))) (expression_statement "local_74 = *(undefined4 ********)(iVar17 + 8);" (assignment_expression "local_74 = *(undefined4 ********)(iVar17 + 8)" (identifier "local_74") (= "=") (pointer_expression "*(undefined4 ********)(iVar17 + 8)" (* "*") (cast_expression "(undefined4 ********)(iVar17 + 8)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(iVar17 + 8)" (( "(") (binary_expression "iVar17 + 8" (identifier "iVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" (identifier "iVar15") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "local_84 = *(uint *)(iVar17 + 0x24);" (assignment_expression "local_84 = *(uint *)(iVar17 + 0x24)" (identifier "local_84") (= "=") (pointer_expression "*(uint *)(iVar17 + 0x24)" (* "*") (cast_expression "(uint *)(iVar17 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x24)" (( "(") (binary_expression "iVar17 + 0x24" (identifier "iVar17") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "ppppppuVar21 = param_5;" (assignment_expression "ppppppuVar21 = param_5" (identifier "ppppppuVar21") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_68 + -0x157e09);" (assignment_expression "pbVar22 = (byte *)((int)local_68 + -0x157e09)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_68 + -0x157e09)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + -0x157e09)" (( "(") (binary_expression "(int)local_68 + -0x157e09" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x157e09")) () ")")))) (; ";")) (do_statement "do {\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  } while (bVar24);" (do "do") (compound_statement "{\n    if (iVar15 == 0) break;\n    iVar15 = iVar15 + -1;\n    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;\n    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;\n    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);\n    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *(byte *)ppppppuVar21 < *pbVar22;" (assignment_expression "bVar23 = *(byte *)ppppppuVar21 < *pbVar22" (identifier "bVar23") (= "=") (binary_expression "*(byte *)ppppppuVar21 < *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" (* "*") (cast_expression "(byte *)ppppppuVar21" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppuVar21"))) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *(byte *)ppppppuVar21 == *pbVar22;" (assignment_expression "bVar24 = *(byte *)ppppppuVar21 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*(byte *)ppppppuVar21 == *pbVar22" (pointer_expression "*(byte *)ppppppuVar21" (* "*") (cast_expression "(byte *)ppppppuVar21" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppuVar21"))) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);" (assignment_expression "ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" (identifier "ppppppuVar21") (= "=") (cast_expression "(undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar21 + (uint)bVar25 * -2 + 1)" (( "(") (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2 + 1" (binary_expression "(int)ppppppuVar21 + (uint)bVar25 * -2" (cast_expression "(int)ppppppuVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar21")) (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar25 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" (if "if") (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (compound_statement "{\n    local_74 = (undefined4 *******)((uint)local_74 | 0x30);\n    local_84 = 1;\n  }" ({ "{") (expression_statement "local_74 = (undefined4 *******)((uint)local_74 | 0x30);" (assignment_expression "local_74 = (undefined4 *******)((uint)local_74 | 0x30)" (identifier "local_74") (= "=") (cast_expression "(undefined4 *******)((uint)local_74 | 0x30)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)local_74 | 0x30)" (( "(") (binary_expression "(uint)local_74 | 0x30" (cast_expression "(uint)local_74" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_74")) (| "|") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "local_84 = 1;" (assignment_expression "local_84 = 1" (identifier "local_84") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "pppppppuVar16 = local_74;" (assignment_expression "pppppppuVar16 = local_74" (identifier "pppppppuVar16") (= "=") (identifier "local_74")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_002c6770(param_1,local_74,0);" (call_expression "FUN_002c6770(param_1,local_74,0)" (identifier "FUN_002c6770") (argument_list "(param_1,local_74,0)" (( "(") (identifier "param_1") (, ",") (identifier "local_74") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" (if "if") (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 2) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_1 + 0x92) & 2) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 2)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x92) & 2" (pointer_expression "*(byte *)((int)param_1 + 0x92)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)0x2f9773;\n    FUN_002c4e40();\n  }" ({ "{") (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9773;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9773" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)0x2f9773" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2f9773"))) (; ";")) (expression_statement "FUN_002c4e40();" (call_expression "FUN_002c4e40()" (identifier "FUN_002c4e40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0))" (( "(") (binary_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)" (parenthesized_expression "((((uint)local_74 & 0x10) != 0) && (param_7 == 0))" (( "(") (binary_expression "(((uint)local_74 & 0x10) != 0) && (param_7 == 0)" (parenthesized_expression "(((uint)local_74 & 0x10) != 0)" (( "(") (binary_expression "((uint)local_74 & 0x10) != 0" (parenthesized_expression "((uint)local_74 & 0x10)" (( "(") (binary_expression "(uint)local_74 & 0x10" (cast_expression "(uint)local_74" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_74")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_7 == 0)" (( "(") (binary_expression "param_7 == 0" (identifier "param_7") (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*param_6 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(*param_6 + 0x14) != 0" (pointer_expression "*(int *)(*param_6 + 0x14)" (* "*") (cast_expression "(int *)(*param_6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_6 + 0x14)" (( "(") (binary_expression "*param_6 + 0x14" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    local_94 = local_68 + 0x1f2;\n    cVar8 = FUN_0030afd0(*local_94);\n    if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }\n  }" ({ "{") (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" (identifier "local_94") (= "=") (binary_expression "local_68 + 0x1f2" (identifier "local_68") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "cVar8 = FUN_0030afd0(*local_94);" (assignment_expression "cVar8 = FUN_0030afd0(*local_94)" (identifier "cVar8") (= "=") (call_expression "FUN_0030afd0(*local_94)" (identifier "FUN_0030afd0") (argument_list "(*local_94)" (( "(") (pointer_expression "*local_94" (* "*") (identifier "local_94")) () ")")))) (; ";")) (if_statement "if (cVar8 == '\0') {\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" (if "if") (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }\n      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);\n      if (cVar8 != '\0') {\n        return -1;\n      }\n    }" ({ "{") (if_statement "if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }\n      else {\n        uVar7 = 1;\n      }" (if "if") (parenthesized_expression "(((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0'))" (( "(") (binary_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((*(byte *)((int)param_1 + 0x92) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_1 + 0x92) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x92) & 0x10)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x92) & 0x10" (pointer_expression "*(byte *)((int)param_1 + 0x92)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((char)local_6c == '\0')" (( "(") (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_6c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        ppppuVar3 = *local_94;\n        pppuVar2 = ppppuVar3[3];\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }\n      }" ({ "{") (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" (identifier "ppppuVar3") (= "=") (pointer_expression "*local_94" (* "*") (identifier "local_94"))) (; ";")) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" (identifier "pppuVar2") (= "=") (subscript_expression "ppppuVar3[3]" (identifier "ppppuVar3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" (if "if") (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" (( "(") (binary_expression "pppuVar2 == (undefined4 ***)0x0" (identifier "pppuVar2") (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9f4f;" (goto "goto") (statement_identifier "LAB_002f9f4f") (; ";"))) (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" (if "if") (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0))" (( "(") (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" (( "(") (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" (identifier "ppppuVar3") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)" (( "(") (comma_expression "uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (, ",") (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" (( "(") (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar3[5]" (identifier "ppppuVar3") ([ "[") (number_literal "5") (] "]"))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n        }" ({ "{") (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }\n          else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" (if "if") (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" (( "(") (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "0x1c") (] "]"))) (== "==") (binary_expression "local_68 + -0x15e2d0" (identifier "local_68") (+ "+") (number_literal "-0x15e2d0"))) () ")")) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;\n            uVar7 = FUN_002c5030();\n          }" ({ "{") (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9b16;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9b16" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)0x2f9b16" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2f9b16"))) (; ";")) (expression_statement "uVar7 = FUN_002c5030();" (assignment_expression "uVar7 = FUN_002c5030()" (identifier "uVar7") (= "=") (call_expression "FUN_002c5030()" (identifier "FUN_002c5030") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" (else "else") (compound_statement "{\n            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" ({ "{") (expression_statement "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (identifier "uVar7") (= "=") (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" (( "(") (pointer_expression "*(code *)(*pppuVar2)[0x1c]" (* "*") (cast_expression "(code *)(*pppuVar2)[0x1c]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "0x1c") (] "]")))) () ")")) (argument_list "(pppuVar2)" (( "(") (identifier "pppuVar2") () ")")))) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n        uVar7 = 1;\n      }" (else "else") (compound_statement "{\n        uVar7 = 1;\n      }" ({ "{") (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7);" (assignment_expression "cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" (identifier "cVar8") (= "=") (call_expression "FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" (identifier "FUN_002ccac0") (argument_list "(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,\n                           local_60,uVar7)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "pppppppuVar16") (, ",") (number_literal "0") (, ",") (identifier "local_84") (, ",") (identifier "local_80") (, ",") (identifier "local_64") (, ",") (identifier "local_60") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (cVar8 != '\0') {\n        return -1;\n      }" (if "if") (parenthesized_expression "(cVar8 != '\0')" (( "(") (binary_expression "cVar8 != '\0'" (identifier "cVar8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return -1;\n      }" ({ "{") (return_statement "return -1;" (return "return") (number_literal "-1") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_78 = (undefined4 ****)0x0;" (assignment_expression "local_78 = (undefined4 ****)0x0" (identifier "local_78") (= "=") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" (identifier "bVar25") (= "=") (pointer_expression "*(byte *)((int)param_1 + 0x92)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25);" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25)" (identifier "local_84") (= "=") (call_expression "CONCAT31(local_84._1_3_,bVar25)" (identifier "CONCAT31") (argument_list "(local_84._1_3_,bVar25)" (( "(") (field_expression "local_84._1_3_" (identifier "local_84") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar25") () ")")))) (; ";")) (if_statement "if ((bVar25 & 0x20) != 0) {\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" (if "if") (parenthesized_expression "((bVar25 & 0x20) != 0)" (( "(") (binary_expression "(bVar25 & 0x20) != 0" (parenthesized_expression "(bVar25 & 0x20)" (( "(") (binary_expression "bVar25 & 0x20" (identifier "bVar25") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);\n    if (lVar26 != -1) {\n      return lVar26;\n    }\n    pppppuVar18 = param_1[8];\n    uVar11 = gettext(local_68 + -0x55fdf);\n                    \n    FUN_0023b7e0(uVar11,pppppuVar18);\n  }" ({ "{") (expression_statement "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);" (assignment_expression "lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" (identifier "lVar26") (= "=") (call_expression "FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" (identifier "FUN_00270e00") (argument_list "(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0)" (( "(") (binary_expression "param_1 + 0x2d" (identifier "param_1") (+ "+") (number_literal "0x2d")) (, ",") (identifier "local_7c") (, ",") (number_literal "0") (, ",") (identifier "local_64") (, ",") (identifier "local_60") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar26 != -1) {\n      return lVar26;\n    }" (if "if") (parenthesized_expression "(lVar26 != -1)" (( "(") (binary_expression "lVar26 != -1" (identifier "lVar26") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      return lVar26;\n    }" ({ "{") (return_statement "return lVar26;" (return "return") (identifier "lVar26") (; ";")) (} "}"))) (expression_statement "pppppuVar18 = param_1[8];" (assignment_expression "pppppuVar18 = param_1[8]" (identifier "pppppuVar18") (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uVar11 = gettext(local_68 + -0x55fdf);" (assignment_expression "uVar11 = gettext(local_68 + -0x55fdf)" (identifier "uVar11") (= "=") (call_expression "gettext(local_68 + -0x55fdf)" (identifier "gettext") (argument_list "(local_68 + -0x55fdf)" (( "(") (binary_expression "local_68 + -0x55fdf" (identifier "local_68") (+ "+") (number_literal "-0x55fdf")) () ")")))) (; ";")) (expression_statement "FUN_0023b7e0(uVar11,pppppuVar18);" (call_expression "FUN_0023b7e0(uVar11,pppppuVar18)" (identifier "FUN_0023b7e0") (argument_list "(uVar11,pppppuVar18)" (( "(") (identifier "uVar11") (, ",") (identifier "pppppuVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "local_88 = (undefined4 *******)param_1[4];" (assignment_expression "local_88 = (undefined4 *******)param_1[4]" (identifier "local_88") (= "=") (cast_expression "(undefined4 *******)param_1[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_8c = (undefined4 *******)param_1[3];" (assignment_expression "local_8c = (undefined4 *******)param_1[3]" (identifier "local_8c") (= "=") (cast_expression "(undefined4 *******)param_1[3]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pppppppuVar16 = local_8c;" (assignment_expression "pppppppuVar16 = local_8c" (identifier "pppppppuVar16") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "pppppppuVar9 = local_88;" (assignment_expression "pppppppuVar9 = local_88" (identifier "pppppppuVar9") (= "=") (identifier "local_88")) (; ";")) (if_statement "if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" (if "if") (parenthesized_expression "(local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0)" (( "(") (binary_expression "local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0" (binary_expression "local_60 != (undefined4 *****)0x0" (identifier "local_60") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_64 != (undefined4 *******)0x0" (identifier "local_64") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);\n    local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);\n    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);\n    pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));\n  }" ({ "{") (expression_statement "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);" (assignment_expression "local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" (identifier "local_94") (= "=") (cast_expression "(undefined4 *****)(((int)local_8c - 1U) + (int)local_64)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(((int)local_8c - 1U) + (int)local_64)" (( "(") (binary_expression "((int)local_8c - 1U) + (int)local_64" (parenthesized_expression "((int)local_8c - 1U)" (( "(") (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (- "-") (number_literal "1U")) () ")")) (+ "+") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")))) (; ";")) (expression_statement "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1);" (assignment_expression "local_90 = (int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" (identifier "local_90") (= "=") (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +\n               ((local_8c != (undefined4 *******)0x0) - 1)" (binary_expression "(int)local_88 +\n               (int)local_60 +\n               (uint)CARRY4((int)local_8c - 1U,(uint)local_64)" (binary_expression "(int)local_88 +\n               (int)local_60" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) (+ "+") (cast_expression "(uint)CARRY4((int)local_8c - 1U,(uint)local_64)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)local_8c - 1U,(uint)local_64)" (identifier "CARRY4") (argument_list "((int)local_8c - 1U,(uint)local_64)" (( "(") (binary_expression "(int)local_8c - 1U" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (- "-") (number_literal "1U")) (, ",") (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64")) () ")"))))) (+ "+") (parenthesized_expression "((local_8c != (undefined4 *******)0x0) - 1)" (( "(") (binary_expression "(local_8c != (undefined4 *******)0x0) - 1" (parenthesized_expression "(local_8c != (undefined4 *******)0x0)" (( "(") (binary_expression "local_8c != (undefined4 *******)0x0" (identifier "local_8c") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64)" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)((uint)local_94 & -(int)local_64)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)local_94 & -(int)local_64)" (( "(") (binary_expression "(uint)local_94 & -(int)local_64" (cast_expression "(uint)local_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_94")) (& "&") (unary_expression "-(int)local_64" (- "-") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")))) () ")")))) (; ";")) (expression_statement "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));" (assignment_expression "pppppppuVar9 = (undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" (identifier "pppppppuVar9") (= "=") (cast_expression "(undefined4 *******)\n                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)))" (( "(") (binary_expression "local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" (identifier "local_90") (& "&") (unary_expression "-((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" (- "-") (parenthesized_expression "((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0))" (( "(") (binary_expression "(int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (call_expression "(uint)(local_64 != (undefined4 *******)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_64 != (undefined4 *******)0x0)" (( "(") (binary_expression "local_64 != (undefined4 *******)0x0" (identifier "local_64") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")))) () ")")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (((uint)param_1[7] & 2) != 0) {\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" (if "if") (parenthesized_expression "(((uint)param_1[7] & 2) != 0)" (( "(") (binary_expression "((uint)param_1[7] & 2) != 0" (parenthesized_expression "((uint)param_1[7] & 2)" (( "(") (binary_expression "(uint)param_1[7] & 2" (cast_expression "(uint)param_1[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppuStack_a0 = (undefined4 *******)param_1;\n                    \n    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);\n  }" ({ "{") (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)param_1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);" (call_expression "FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" (identifier "FUN_002446e0") (argument_list "((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928)" (( "(") (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x19cca3")) (, ",") (number_literal "0x231") (, ",") (binary_expression "local_68 + -0x55928" (identifier "local_68") (+ "+") (number_literal "-0x55928")) () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);" (assignment_expression "param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16)" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 *****)((int)local_7c + (int)pppppppuVar16)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_7c + (int)pppppppuVar16)" (( "(") (binary_expression "(int)local_7c + (int)pppppppuVar16" (cast_expression "(int)local_7c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7c")) (+ "+") (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16"))) () ")")))) (; ";")) (expression_statement "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));" (assignment_expression "param_1[4] = (undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined4 *****)\n               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16))" (( "(") (binary_expression "(int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9")) (+ "+") (cast_expression "(uint)CARRY4((uint)local_7c,(uint)pppppppuVar16)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)local_7c,(uint)pppppppuVar16)" (identifier "CARRY4") (argument_list "((uint)local_7c,(uint)pppppppuVar16)" (( "(") (cast_expression "(uint)local_7c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7c")) (, ",") (cast_expression "(uint)pppppppuVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppuVar16")) () ")"))))) () ")")))) (; ";")) (if_statement "if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }\n  else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" (if "if") (parenthesized_expression "(((bVar25 & 1) == 0) && ((char)local_6c == '\0'))" (( "(") (binary_expression "((bVar25 & 1) == 0) && ((char)local_6c == '\0')" (parenthesized_expression "((bVar25 & 1) == 0)" (( "(") (binary_expression "(bVar25 & 1) == 0" (parenthesized_expression "(bVar25 & 1)" (( "(") (binary_expression "bVar25 & 1" (identifier "bVar25") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((char)local_6c == '\0')" (( "(") (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_6c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }\nLAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;\n    if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (if_statement "if (((uint)local_74 & 4) == 0) {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }\n    else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" (if "if") (parenthesized_expression "(((uint)local_74 & 4) == 0)" (( "(") (binary_expression "((uint)local_74 & 4) == 0" (parenthesized_expression "((uint)local_74 & 4)" (( "(") (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_74")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;\n    }" ({ "{") (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";")) (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n      goto LAB_002f9c88;" (if "if") (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" (( "(") (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" (( "(") (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" (identifier "SBORROW4") (argument_list "((int)local_88,(int)pppppppuVar9)" (( "(") (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (, ",") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9")) () ")"))) (!= "!=") (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (identifier "SBORROW4") (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) (, ",") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) () ")")) (- "-") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto LAB_002f9c88;" (goto "goto") (statement_identifier "LAB_002f9c88") (; ";"))) (} "}")) (else_clause "else {\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" (else "else") (compound_statement "{\n      local_94 = local_68 + 0x1f2;\n      ppppuVar3 = *local_94;\n      pppuVar2 = ppppuVar3[3];\n      puVar20 = auStack_9c;\n      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }\n    }" ({ "{") (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" (identifier "local_94") (= "=") (binary_expression "local_68 + 0x1f2" (identifier "local_68") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "ppppuVar3 = *local_94;" (assignment_expression "ppppuVar3 = *local_94" (identifier "ppppuVar3") (= "=") (pointer_expression "*local_94" (* "*") (identifier "local_94"))) (; ";")) (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" (identifier "pppuVar2") (= "=") (subscript_expression "ppppuVar3[3]" (identifier "ppppuVar3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" (identifier "puVar20") (= "=") (identifier "auStack_9c")) (; ";")) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" (if "if") (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" (( "(") (binary_expression "pppuVar2 == (undefined4 ***)0x0" (identifier "pppuVar2") (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9f4f;" (goto "goto") (statement_identifier "LAB_002f9f4f") (; ";"))) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }\n      else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" (if "if") (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) == '\0')" (( "(") (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) == '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" (* "*") (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar2[1] + 0xe)" (( "(") (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppuVar2[1]" (identifier "pppuVar2") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;\n      }" ({ "{") (if_statement "if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)\n        goto LAB_002f9bab;" (if "if") (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" (( "(") (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=\n            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" (( "(") (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" (identifier "SBORROW4") (argument_list "((int)local_88,(int)pppppppuVar9)" (( "(") (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (, ",") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9")) () ")"))) (!= "!=") (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (identifier "SBORROW4") (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) (, ",") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) () ")")) (- "-") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto LAB_002f9bab;" (goto "goto") (statement_identifier "LAB_002f9bab") (; ";"))) (} "}")) (else_clause "else {\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" (else "else") (compound_statement "{\n        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }\n        if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }\n        bVar25 = *(byte *)((int)param_1 + 0x92);\n        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);\n        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;\n        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;\n      }" ({ "{") (if_statement "if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" (if "if") (parenthesized_expression "((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0))" (( "(") (binary_expression "(ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)" (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" (( "(") (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" (identifier "ppppuVar3") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" (( "(") (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" (( "(") (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar3[5]" (identifier "ppppuVar3") ([ "[") (number_literal "5") (] "]"))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }\n          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }\n        }" ({ "{") (if_statement "if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }\n          else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" (if "if") (parenthesized_expression "((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0)" (( "(") (binary_expression "(undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0" (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "0x1c") (] "]"))) (== "==") (binary_expression "local_68 + -0x15e2d0" (identifier "local_68") (+ "+") (number_literal "-0x15e2d0"))) () ")")) (compound_statement "{\n            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;\n            cVar8 = FUN_002c5030();\n          }" ({ "{") (expression_statement "pppppppuStack_a0 = (undefined4 *******)0x2f9e18;" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)0x2f9e18" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)0x2f9e18" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2f9e18"))) (; ";")) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" (identifier "cVar8") (= "=") (call_expression "FUN_002c5030()" (identifier "FUN_002c5030") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" (else "else") (compound_statement "{\n            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);\n          }" ({ "{") (expression_statement "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);" (assignment_expression "cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (identifier "cVar8") (= "=") (call_expression "(*(code *)(*pppuVar2)[0x1c])(pppuVar2)" (parenthesized_expression "(*(code *)(*pppuVar2)[0x1c])" (( "(") (pointer_expression "*(code *)(*pppuVar2)[0x1c]" (* "*") (cast_expression "(code *)(*pppuVar2)[0x1c]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "0x1c") (] "]")))) () ")")) (argument_list "(pppuVar2)" (( "(") (identifier "pppuVar2") () ")")))) (; ";")) (} "}")))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" (if "if") (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" (( "(") (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" (* "*") (cast_expression "(char *)(param_2 + 0x1cd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1cd)" (( "(") (binary_expression "param_2 + 0x1cd" (identifier "param_2") (+ "+") (number_literal "0x1cd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            goto LAB_002f9834;\n          }" ({ "{") (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "local_84") (= "=") (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "CONCAT31") (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (( "(") (field_expression "local_84._1_3_" (identifier "local_84") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x92)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) () ")")))) (; ";")) (goto_statement "goto LAB_002f9834;" (goto "goto") (statement_identifier "LAB_002f9834") (; ";")) (} "}"))) (} "}"))) (if_statement "if (param_1[0x21] != param_1[0x20]) {\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" (if "if") (parenthesized_expression "(param_1[0x21] != param_1[0x20])" (( "(") (binary_expression "param_1[0x21] != param_1[0x20]" (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (!= "!=") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]"))) () ")")) (compound_statement "{\n          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];\n                    \n          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);\n        }" ({ "{") (expression_statement "pppppppuStack_a0 = (undefined4 *******)param_1[0x20];" (assignment_expression "pppppppuStack_a0 = (undefined4 *******)param_1[0x20]" (identifier "pppppppuStack_a0") (= "=") (cast_expression "(undefined4 *******)param_1[0x20]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")))) (; ";")) (expression_statement "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);" (call_expression "FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" (identifier "FUN_002446e0") (argument_list "((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24)" (( "(") (binary_expression "(int)local_68 + -0x1582f5" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x1582f5")) (, ",") (number_literal "0x9eb") (, ",") (binary_expression "local_68 + -0x55b24" (identifier "local_68") (+ "+") (number_literal "-0x55b24")) () ")"))) (; ";")) (} "}"))) (expression_statement "bVar25 = *(byte *)((int)param_1 + 0x92);" (assignment_expression "bVar25 = *(byte *)((int)param_1 + 0x92)" (identifier "bVar25") (= "=") (pointer_expression "*(byte *)((int)param_1 + 0x92)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);" (assignment_expression "local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" (identifier "local_74") (= "=") (cast_expression "(undefined4 *******)CONCAT31(local_74._1_3_,bVar25)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "CONCAT31(local_74._1_3_,bVar25)" (identifier "CONCAT31") (argument_list "(local_74._1_3_,bVar25)" (( "(") (field_expression "local_74._1_3_" (identifier "local_74") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar25") () ")"))))) (; ";")) (expression_statement "*(byte *)((int)param_1 + 0x92) = bVar25 | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x92) = bVar25 | 1" (pointer_expression "*(byte *)((int)param_1 + 0x92)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "bVar25 | 1" (identifier "bVar25") (| "|") (number_literal "1"))) (; ";")) (expression_statement "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,bVar25) | 1" (identifier "local_84") (= "=") (binary_expression "CONCAT31(local_84._1_3_,bVar25) | 1" (call_expression "CONCAT31(local_84._1_3_,bVar25)" (identifier "CONCAT31") (argument_list "(local_84._1_3_,bVar25)" (( "(") (field_expression "local_84._1_3_" (identifier "local_84") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar25") () ")"))) (| "|") (number_literal "1"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_002f9852:\n    pppppppuVar19 = (undefined4 *******)auStack_9c;" (statement_identifier "LAB_002f9852") (: ":") (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";"))) (if_statement "if (((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )) {\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       ))" (( "(") (binary_expression "((local_84 & 0x10) == 0) &&\n       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" (parenthesized_expression "((local_84 & 0x10) == 0)" (( "(") (binary_expression "(local_84 & 0x10) == 0" (parenthesized_expression "(local_84 & 0x10)" (( "(") (binary_expression "local_84 & 0x10" (identifier "local_84") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'\n       )" (( "(") (comma_expression "pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (, ",") (comma_expression "puVar20 = auStack_9c, (char)local_6c == '\0'" (assignment_expression "puVar20 = auStack_9c" (identifier "puVar20") (= "=") (identifier "auStack_9c")) (, ",") (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_6c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\nLAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;\n      pppppuVar18 = param_1[0x1b];\n      if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }\n    }" ({ "{") (labeled_statement "LAB_002f9c92:\n      pppppppuVar19 = (undefined4 *******)puVar20;" (statement_identifier "LAB_002f9c92") (: ":") (expression_statement "pppppppuVar19 = (undefined4 *******)puVar20;" (assignment_expression "pppppppuVar19 = (undefined4 *******)puVar20" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)puVar20" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "puVar20"))) (; ";"))) (expression_statement "pppppuVar18 = param_1[0x1b];" (assignment_expression "pppppuVar18 = param_1[0x1b]" (identifier "pppppuVar18") (= "=") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if ((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )) {\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "((param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         ))" (( "(") (binary_expression "(param_1[0x1c] == pppppuVar18) &&\n         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" (parenthesized_expression "(param_1[0x1c] == pppppuVar18)" (( "(") (binary_expression "param_1[0x1c] == pppppuVar18" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (== "==") (identifier "pppppuVar18")) () ")")) (&& "&&") (parenthesized_expression "(((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))\n         )" (( "(") (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))" (( "(") (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0)" (binary_expression "(*(byte *)((int)param_1 + 0x91) & 4) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 4)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x91) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x91)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x91)" (( "(") (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x91")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)param_1 + 0x91) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_1 + 0x91) & 8) == 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x91) & 8)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x91) & 8" (pointer_expression "*(byte *)((int)param_1 + 0x91)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x91)" (( "(") (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x91")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        ppppuVar3 = local_68[0x1f2];\n        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;\n        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "ppppuVar3 = local_68[0x1f2];" (assignment_expression "ppppuVar3 = local_68[0x1f2]" (identifier "ppppuVar3") (= "=") (subscript_expression "local_68[0x1f2]" (identifier "local_68") ([ "[") (number_literal "0x1f2") (] "]"))) (; ";")) (if_statement "if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;" (if "if") (parenthesized_expression "(ppppuVar3[2] == (undefined4 ***)0x0)" (( "(") (binary_expression "ppppuVar3[2] == (undefined4 ***)0x0" (subscript_expression "ppppuVar3[2]" (identifier "ppppuVar3") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9f1a;" (goto "goto") (statement_identifier "LAB_002f9f1a") (; ";"))) (if_statement "if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(ppppuVar3[2] + 0x91f) == '\0')" (( "(") (binary_expression "*(char *)(ppppuVar3[2] + 0x91f) == '\0'" (pointer_expression "*(char *)(ppppuVar3[2] + 0x91f)" (* "*") (cast_expression "(char *)(ppppuVar3[2] + 0x91f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppuVar3[2] + 0x91f)" (( "(") (binary_expression "ppppuVar3[2] + 0x91f" (subscript_expression "ppppuVar3[2]" (identifier "ppppuVar3") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x91f")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pppuVar2 = ppppuVar3[3];\n          puVar20 = (undefined1 *)pppppppuVar19;\n          if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }\n          if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }\n        }" ({ "{") (expression_statement "pppuVar2 = ppppuVar3[3];" (assignment_expression "pppuVar2 = ppppuVar3[3]" (identifier "pppuVar2") (= "=") (subscript_expression "ppppuVar3[3]" (identifier "ppppuVar3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)pppppppuVar19" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar19"))) (; ";")) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) {\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" (( "(") (binary_expression "pppuVar2 == (undefined4 ***)0x0" (identifier "pppuVar2") (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;\n            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;\n            *(undefined4 *)(puVar20 + -0xc) = 0x69;\n            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;\n            FUN_002446e0();\n          }" ({ "{") (labeled_statement "LAB_002f9f4f:\n            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" (statement_identifier "LAB_002f9f4f") (: ":") (expression_statement "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar20 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 ********)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";"))) (expression_statement "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;" (assignment_expression "*(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7" (pointer_expression "*(undefined4 ******)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 ******)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_68 + -0x558c7" (identifier "local_68") (+ "+") (number_literal "-0x558c7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x69")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x2f9f68" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9f68")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (((uint)ppppuVar3[5] & 8) == 0) {\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" (if "if") (parenthesized_expression "(((uint)ppppuVar3[5] & 8) == 0)" (( "(") (binary_expression "((uint)ppppuVar3[5] & 8) == 0" (parenthesized_expression "((uint)ppppuVar3[5] & 8)" (( "(") (binary_expression "(uint)ppppuVar3[5] & 8" (cast_expression "(uint)ppppuVar3[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar3[5]" (identifier "ppppuVar3") ([ "[") (number_literal "5") (] "]"))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];\n            if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }\n            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }\n          }" ({ "{") (expression_statement "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];" (assignment_expression "pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c]" (identifier "pppppuVar18") (= "=") (cast_expression "(undefined4 *****)(*pppuVar2)[0x1c]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*pppuVar2)[0x1c]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "0x1c") (] "]")))) (; ";")) (if_statement "if (pppppuVar18 == local_68 + -0x15e2d0) {\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }\n            else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" (if "if") (parenthesized_expression "(pppppuVar18 == local_68 + -0x15e2d0)" (( "(") (binary_expression "pppppuVar18 == local_68 + -0x15e2d0" (identifier "pppppuVar18") (== "==") (binary_expression "local_68 + -0x15e2d0" (identifier "local_68") (+ "+") (number_literal "-0x15e2d0"))) () ")")) (compound_statement "{\n              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;\n              cVar8 = FUN_002c5030();\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -4)" (( "(") (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x2f9d0b")) (; ";")) (expression_statement "cVar8 = FUN_002c5030();" (assignment_expression "cVar8 = FUN_002c5030()" (identifier "cVar8") (= "=") (call_expression "FUN_002c5030()" (identifier "FUN_002c5030") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" (else "else") (compound_statement "{\n              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;\n              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;\n              cVar8 = (*(code *)pppppuVar18)();\n            }" ({ "{") (expression_statement "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;" (assignment_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2" (pointer_expression "*(undefined4 ****)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 ****)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppuVar2")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9ef6")) (; ";")) (expression_statement "cVar8 = (*(code *)pppppuVar18)();" (assignment_expression "cVar8 = (*(code *)pppppuVar18)()" (identifier "cVar8") (= "=") (call_expression "(*(code *)pppppuVar18)()" (parenthesized_expression "(*(code *)pppppuVar18)" (( "(") (pointer_expression "*(code *)pppppuVar18" (* "*") (cast_expression "(code *)pppppuVar18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppuVar18"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (if_statement "if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" (if "if") (parenthesized_expression "((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0'))" (( "(") (binary_expression "(cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')" (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_2 + 0x1cd) == '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x1cd) == '\0'" (pointer_expression "*(char *)(param_2 + 0x1cd)" (* "*") (cast_expression "(char *)(param_2 + 0x1cd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1cd)" (( "(") (binary_expression "param_2 + 0x1cd" (identifier "param_2") (+ "+") (number_literal "0x1cd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              return CONCAT44(pppppppuVar9,pppppppuVar16);\n            }" ({ "{") (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" (return "return") (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" (identifier "CONCAT44") (argument_list "(pppppppuVar9,pppppppuVar16)" (( "(") (identifier "pppppppuVar9") (, ",") (identifier "pppppppuVar16") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" (else "else") (compound_statement "{\nLAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;\n    if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }\n  }" ({ "{") (labeled_statement "LAB_002f9834:\n    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" (statement_identifier "LAB_002f9834") (: ":") (if_statement "if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)) goto LAB_002f9852;" (if "if") (parenthesized_expression "(((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0))" (( "(") (binary_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||\n       ((local_84 & 1) != 0)" (parenthesized_expression "((SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)" (( "(") (binary_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==\n         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (parenthesized_expression "(SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16)))" (( "(") (binary_expression "SBORROW4((int)local_88,(int)pppppppuVar9) !=\n         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (call_expression "SBORROW4((int)local_88,(int)pppppppuVar9)" (identifier "SBORROW4") (argument_list "((int)local_88,(int)pppppppuVar9)" (( "(") (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (, ",") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9")) () ")"))) (!= "!=") (call_expression "SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (identifier "SBORROW4") (argument_list "((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) (, ",") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0" (cast_expression "(int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16))" (( "(") (binary_expression "((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)" (parenthesized_expression "((int)local_88 - (int)pppppppuVar9)" (( "(") (binary_expression "(int)local_88 - (int)pppppppuVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (- "-") (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9"))) () ")")) (- "-") (call_expression "(uint)(local_8c < pppppppuVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_8c < pppppppuVar16)" (( "(") (binary_expression "local_8c < pppppppuVar16" (identifier "local_8c") (< "<") (identifier "pppppppuVar16")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((local_84 & 1) != 0)" (( "(") (binary_expression "(local_84 & 1) != 0" (parenthesized_expression "(local_84 & 1)" (( "(") (binary_expression "local_84 & 1" (identifier "local_84") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_002f9852;" (goto "goto") (statement_identifier "LAB_002f9852") (; ";")))) (if_statement "if ((char)local_6c == '\0') {\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" (if "if") (parenthesized_expression "((char)local_6c == '\0')" (( "(") (binary_expression "(char)local_6c == '\0'" (cast_expression "(char)local_6c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_6c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pppppppuVar19 = (undefined4 *******)auStack_9c;\n      if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }\nLAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;\n      if ((local_84 & 0x10) != 0) goto LAB_002f9862;\n      goto LAB_002f9c92;\n    }" ({ "{") (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";")) (if_statement "if (((uint)local_74 & 4) != 0) {\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((uint)local_74 & 4) != 0)" (( "(") (binary_expression "((uint)local_74 & 4) != 0" (parenthesized_expression "((uint)local_74 & 4)" (( "(") (binary_expression "(uint)local_74 & 4" (cast_expression "(uint)local_74" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_74")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_94 = local_68 + 0x1f2;\nLAB_002f9bab:\n        pppuVar2 = (*local_94)[3];\n        puVar20 = auStack_9c;\n        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;\n        pppppppuVar19 = (undefined4 *******)auStack_9c;\n        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }\n      }" ({ "{") (expression_statement "local_94 = local_68 + 0x1f2;" (assignment_expression "local_94 = local_68 + 0x1f2" (identifier "local_94") (= "=") (binary_expression "local_68 + 0x1f2" (identifier "local_68") (+ "+") (number_literal "0x1f2"))) (; ";")) (labeled_statement "LAB_002f9bab:\n        pppuVar2 = (*local_94)[3];" (statement_identifier "LAB_002f9bab") (: ":") (expression_statement "pppuVar2 = (*local_94)[3];" (assignment_expression "pppuVar2 = (*local_94)[3]" (identifier "pppuVar2") (= "=") (subscript_expression "(*local_94)[3]" (parenthesized_expression "(*local_94)" (( "(") (pointer_expression "*local_94" (* "*") (identifier "local_94")) () ")")) ([ "[") (number_literal "3") (] "]"))) (; ";"))) (expression_statement "puVar20 = auStack_9c;" (assignment_expression "puVar20 = auStack_9c" (identifier "puVar20") (= "=") (identifier "auStack_9c")) (; ";")) (if_statement "if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;" (if "if") (parenthesized_expression "(pppuVar2 == (undefined4 ***)0x0)" (( "(") (binary_expression "pppuVar2 == (undefined4 ***)0x0" (identifier "pppuVar2") (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9f4f;" (goto "goto") (statement_identifier "LAB_002f9f4f") (; ";"))) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";")) (if_statement "if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)((int)pppuVar2[1] + 0xe) != '\0')" (( "(") (binary_expression "*(char *)((int)pppuVar2[1] + 0xe) != '\0'" (pointer_expression "*(char *)((int)pppuVar2[1] + 0xe)" (* "*") (cast_expression "(char *)((int)pppuVar2[1] + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar2[1] + 0xe)" (( "(") (binary_expression "(int)pppuVar2[1] + 0xe" (cast_expression "(int)pppuVar2[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppuVar2[1]" (identifier "pppuVar2") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "0xe")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);\n          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);\n          if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }\n        }" ({ "{") (expression_statement "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);" (assignment_expression "local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" (identifier "local_74") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar16 - (int)local_8c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar16 - (int)local_8c)" (( "(") (binary_expression "(int)pppppppuVar16 - (int)local_8c" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (- "-") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")))) (; ";")) (expression_statement "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);" (assignment_expression "local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" (identifier "local_70") (= "=") (binary_expression "(int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" (cast_expression "(int)pppppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar9")) (+ "+") (parenthesized_expression "(-(uint)(pppppppuVar16 < local_8c) - (int)local_88)" (( "(") (binary_expression "-(uint)(pppppppuVar16 < local_8c) - (int)local_88" (unary_expression "-(uint)(pppppppuVar16 < local_8c)" (- "-") (call_expression "(uint)(pppppppuVar16 < local_8c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppppuVar16 < local_8c)" (( "(") (binary_expression "pppppppuVar16 < local_8c" (identifier "pppppppuVar16") (< "<") (identifier "local_8c")) () ")")))) (- "-") (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88"))) () ")")))) (; ";")) (if_statement "if (param_1[0x1c] == param_1[0x1b]) {\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }\n          else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" (if "if") (parenthesized_expression "(param_1[0x1c] == param_1[0x1b])" (( "(") (binary_expression "param_1[0x1c] == param_1[0x1b]" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (== "==") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]"))) () ")")) (compound_statement "{\n            local_34 = local_8c;\n            local_30 = local_88;\n            if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }\n            local_2c = local_74;\n            FUN_002e83d0(param_1 + 0x20,&local_34);\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = (undefined4 *******)auStack_9c;\n          }" ({ "{") (expression_statement "local_34 = local_8c;" (assignment_expression "local_34 = local_8c" (identifier "local_34") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_30 = local_88;" (assignment_expression "local_30 = local_88" (identifier "local_30") (= "=") (identifier "local_88")) (; ";")) (if_statement "if (local_70 != 0) {\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" (if "if") (parenthesized_expression "(local_70 != 0)" (( "(") (binary_expression "local_70 != 0" (identifier "local_70") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pppppppuStack_a0 = local_88;\n                    \n              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);\n            }" ({ "{") (expression_statement "pppppppuStack_a0 = local_88;" (assignment_expression "pppppppuStack_a0 = local_88" (identifier "pppppppuStack_a0") (= "=") (identifier "local_88")) (; ";")) (expression_statement "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);" (call_expression "FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" (identifier "FUN_002446e0") (argument_list "(local_68 + -0x672d3,0xc0,local_68 + -0x55b28)" (( "(") (binary_expression "local_68 + -0x672d3" (identifier "local_68") (+ "+") (number_literal "-0x672d3")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "local_68 + -0x55b28" (identifier "local_68") (+ "+") (number_literal "-0x55b28")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_2c = local_74;" (assignment_expression "local_2c = local_74" (identifier "local_2c") (= "=") (identifier "local_74")) (; ";")) (expression_statement "FUN_002e83d0(param_1 + 0x20,&local_34);" (call_expression "FUN_002e83d0(param_1 + 0x20,&local_34)" (identifier "FUN_002e83d0") (argument_list "(param_1 + 0x20,&local_34)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "local_84") (= "=") (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "CONCAT31") (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (( "(") (field_expression "local_84._1_3_" (identifier "local_84") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x92)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) () ")")))) (; ";")) (expression_statement "pppppppuVar19 = (undefined4 *******)auStack_9c;" (assignment_expression "pppppppuVar19 = (undefined4 *******)auStack_9c" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)auStack_9c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "auStack_9c"))) (; ";")) (} "}")) (else_clause "else {\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" (else "else") (compound_statement "{\n            pppppppuVar19 = local_74;\n            local_74 = &local_4c;\n            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);\n                    \n            uVar11 = FUN_003ac4d0(0x44);\n            local_84 = uVar11;\n                    \n            FUN_002e80a0(uVar11,local_74,1,0);\n            local_34 = (undefined4 *******)0xffffffff;\n            local_30 = (undefined4 *******)0x0;\n            local_20 = 0;\n            local_2c = (undefined4 *******)0x0;\n            local_28 = 0;\n            local_24 = uVar11;\n                    \n            FUN_002e2370(param_1 + 0x1b,&local_34);\n            if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }\n            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));\n            pppppppuVar19 = &pppppppuStack_a0;\n          }" ({ "{") (expression_statement "pppppppuVar19 = local_74;" (assignment_expression "pppppppuVar19 = local_74" (identifier "pppppppuVar19") (= "=") (identifier "local_74")) (; ";")) (expression_statement "local_74 = &local_4c;" (assignment_expression "local_74 = &local_4c" (identifier "local_74") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);" (call_expression "(*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19)" (parenthesized_expression "(*(code *)(*pppuVar2)[6])" (( "(") (pointer_expression "*(code *)(*pppuVar2)[6]" (* "*") (cast_expression "(code *)(*pppuVar2)[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*pppuVar2)[6]" (parenthesized_expression "(*pppuVar2)" (( "(") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) () ")")) ([ "[") (number_literal "6") (] "]")))) () ")")) (argument_list "(&local_4c,pppuVar2,pppppppuVar19)" (( "(") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (identifier "pppuVar2") (, ",") (identifier "pppppppuVar19") () ")"))) (; ";")) (expression_statement "uVar11 = FUN_003ac4d0(0x44);" (assignment_expression "uVar11 = FUN_003ac4d0(0x44)" (identifier "uVar11") (= "=") (call_expression "FUN_003ac4d0(0x44)" (identifier "FUN_003ac4d0") (argument_list "(0x44)" (( "(") (number_literal "0x44") () ")")))) (; ";")) (expression_statement "local_84 = uVar11;" (assignment_expression "local_84 = uVar11" (identifier "local_84") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "FUN_002e80a0(uVar11,local_74,1,0);" (call_expression "FUN_002e80a0(uVar11,local_74,1,0)" (identifier "FUN_002e80a0") (argument_list "(uVar11,local_74,1,0)" (( "(") (identifier "uVar11") (, ",") (identifier "local_74") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_34 = (undefined4 *******)0xffffffff;" (assignment_expression "local_34 = (undefined4 *******)0xffffffff" (identifier "local_34") (= "=") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = (undefined4 *******)0x0;" (assignment_expression "local_2c = (undefined4 *******)0x0" (identifier "local_2c") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = uVar11;" (assignment_expression "local_24 = uVar11" (identifier "local_24") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "FUN_002e2370(param_1 + 0x1b,&local_34);" (call_expression "FUN_002e2370(param_1 + 0x1b,&local_34)" (identifier "FUN_002e2370") (argument_list "(param_1 + 0x1b,&local_34)" (( "(") (binary_expression "param_1 + 0x1b" (identifier "param_1") (+ "+") (number_literal "0x1b")) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (if_statement "if ((undefined4 ********)local_4c != &local_44) {\n              FUN_003ae080(local_4c);\n            }" (if "if") (parenthesized_expression "((undefined4 ********)local_4c != &local_44)" (( "(") (binary_expression "(undefined4 ********)local_4c != &local_44" (cast_expression "(undefined4 ********)local_4c" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (identifier "local_4c")) (!= "!=") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) () ")")) (compound_statement "{\n              FUN_003ae080(local_4c);\n            }" ({ "{") (expression_statement "FUN_003ae080(local_4c);" (call_expression "FUN_003ae080(local_4c)" (identifier "FUN_003ae080") (argument_list "(local_4c)" (( "(") (identifier "local_4c") () ")"))) (; ";")) (} "}"))) (expression_statement "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));" (assignment_expression "local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "local_84") (= "=") (call_expression "CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (identifier "CONCAT31") (argument_list "(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92))" (( "(") (field_expression "local_84._1_3_" (identifier "local_84") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)((int)param_1 + 0x92)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x92)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x92)" (( "(") (binary_expression "(int)param_1 + 0x92" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x92")) () ")")))) () ")")))) (; ";")) (expression_statement "pppppppuVar19 = &pppppppuStack_a0;" (assignment_expression "pppppppuVar19 = &pppppppuStack_a0" (identifier "pppppppuVar19") (= "=") (pointer_expression "&pppppppuStack_a0" (& "&") (identifier "pppppppuStack_a0"))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (labeled_statement "LAB_002f9c88:\n      puVar20 = (undefined1 *)pppppppuVar19;" (statement_identifier "LAB_002f9c88") (: ":") (expression_statement "puVar20 = (undefined1 *)pppppppuVar19;" (assignment_expression "puVar20 = (undefined1 *)pppppppuVar19" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)pppppppuVar19" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar19"))) (; ";"))) (if_statement "if ((local_84 & 0x10) != 0) goto LAB_002f9862;" (if "if") (parenthesized_expression "((local_84 & 0x10) != 0)" (( "(") (binary_expression "(local_84 & 0x10) != 0" (parenthesized_expression "(local_84 & 0x10)" (( "(") (binary_expression "local_84 & 0x10" (identifier "local_84") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002f9862;" (goto "goto") (statement_identifier "LAB_002f9862") (; ";"))) (goto_statement "goto LAB_002f9c92;" (goto "goto") (statement_identifier "LAB_002f9c92") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_002f9862:\n  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" (statement_identifier "LAB_002f9862") (: ":") (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_4c = param_4;" (assignment_expression "local_4c = param_4" (identifier "local_4c") (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9879")) (; ";")) (expression_statement "local_48 = (undefined4 ****)FUN_00442880();" (assignment_expression "local_48 = (undefined4 ****)FUN_00442880()" (identifier "local_48") (= "=") (cast_expression "(undefined4 ****)FUN_00442880()" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "FUN_00442880()" (identifier "FUN_00442880") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_38 = (undefined4 *******)0x0;" (assignment_expression "local_38 = (undefined4 *******)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_4 + 1 < (undefined4 *******)0x4) {\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" (if "if") (parenthesized_expression "(param_4 + 1 < (undefined4 *******)0x4)" (( "(") (binary_expression "param_4 + 1 < (undefined4 *******)0x4" (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1")) (< "<") (cast_expression "(undefined4 *******)0x4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;\n    FUN_002446e0();\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -4)" (( "(") (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_68 + -0x55b2c" (identifier "local_68") (+ "+") (number_literal "-0x55b2c"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xe9a")) (; ";")) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_68 + -0x19cca3" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9f1a")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_44 = local_7c;" (assignment_expression "local_44 = local_7c" (identifier "local_44") (= "=") (identifier "local_7c")) (; ";")) (expression_statement "local_40 = local_78;" (assignment_expression "local_40 = local_78" (identifier "local_40") (= "=") (identifier "local_78")) (; ";")) (expression_statement "local_3c = param_3;" (assignment_expression "local_3c = param_3" (identifier "local_3c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppuVar18 = local_68;" (assignment_expression "pppppuVar18 = local_68" (identifier "pppppuVar18") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (local_68[0x1f2][2] == (undefined4 ***)0x0) {\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" (if "if") (parenthesized_expression "(local_68[0x1f2][2] == (undefined4 ***)0x0)" (( "(") (binary_expression "local_68[0x1f2][2] == (undefined4 ***)0x0" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" (identifier "local_68") ([ "[") (number_literal "0x1f2") (] "]")) ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 ***)0x0" (( "(") (type_descriptor "undefined4 ***" (type_identifier "undefined4") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;\n    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;\n    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;\n    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;\n    FUN_002446e0();\n  }" ({ "{") (labeled_statement "LAB_002f9f1a:\n    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" (statement_identifier "LAB_002f9f1a") (: ":") (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -4)" (* "*") (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -4)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -4)" (( "(") (binary_expression "(int)pppppppuVar19 + -4" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pppppuVar18")) (; ";"))) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_68 + -0x558d2" (identifier "local_68") (+ "+") (number_literal "-0x558d2"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_68 + -0x1a1d93" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9f33")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;" (if "if") (parenthesized_expression "(local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0)" (( "(") (binary_expression "local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0" (subscript_expression "local_68[0x1f2][2][0xdb6]" (subscript_expression "local_68[0x1f2][2]" (subscript_expression "local_68[0x1f2]" (identifier "local_68") ([ "[") (number_literal "0x1f2") (] "]")) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xdb6") (] "]")) (== "==") (cast_expression "(undefined4 **)0x0" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9954;" (goto "goto") (statement_identifier "LAB_002f9954") (; ";"))) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_74 = &local_34;" (assignment_expression "local_74 = &local_34" (identifier "local_74") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "local_64 = &local_2c;" (assignment_expression "local_64 = &local_2c" (identifier "local_64") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f98e5")) (; ";")) (expression_statement "local_34 = local_64;" (assignment_expression "local_34 = local_64" (identifier "local_34") (= "=") (identifier "local_64")) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));" (assignment_expression "pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "strlen(*(char **)((int)pppppppuVar19 + -0x10))" (identifier "strlen") (argument_list "(*(char **)((int)pppppppuVar19 + -0x10))" (( "(") (pointer_expression "*(char **)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(char **)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_50 = pppppppuVar10;" (assignment_expression "local_50 = pppppppuVar10" (identifier "local_50") (= "=") (identifier "pppppppuVar10")) (; ";")) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x10) {\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }\n  else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" (if "if") (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x10)" (( "(") (binary_expression "pppppppuVar10 < (undefined4 *******)0x10" (identifier "pppppppuVar10") (< "<") (cast_expression "(undefined4 *******)0x10" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x10"))) () ")")) (compound_statement "{\n    pppppppuVar12 = local_64;\n    if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;\n  }" ({ "{") (expression_statement "pppppppuVar12 = local_64;" (assignment_expression "pppppppuVar12 = local_64" (identifier "pppppppuVar12") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)0x1) {\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }\n    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)0x1)" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)0x1" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);\n    }" ({ "{") (expression_statement "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);" (assignment_expression "local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" (identifier "local_2c") (= "=") (cast_expression "(undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "CONCAT31(local_2c._1_3_,*(byte *)param_5)" (identifier "CONCAT31") (argument_list "(local_2c._1_3_,*(byte *)param_5)" (( "(") (field_expression "local_2c._1_3_" (identifier "local_2c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)param_5" (* "*") (cast_expression "(byte *)param_5" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_5"))) () ")"))))) (; ";")) (} "}")) (else_clause "else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" (else "else") (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;" (if "if") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" (identifier "pppppppuVar10") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002f9d83;" (goto "goto") (statement_identifier "LAB_002f9d83") (; ";"))))) (} "}")) (else_clause "else {\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" (else "else") (compound_statement "{\n    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;\n    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;\n    local_7c = pppppppuVar10;\n    local_34 = (undefined4 *******)FUN_003b5790();\n    local_2c = local_50;\n    pppppppuVar12 = local_34;\n    pppppppuVar10 = local_7c;\nLAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;\n    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;\n    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));\n    pppppppuVar12 = local_34;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -8) = 0" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *********" (type_identifier "undefined4") (abstract_pointer_declarator "*********" (* "*") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_50" (& "&") (identifier "local_50"))) (; ";")) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_74")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9d74")) (; ";")) (expression_statement "local_7c = pppppppuVar10;" (assignment_expression "local_7c = pppppppuVar10" (identifier "local_7c") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "local_34 = (undefined4 *******)FUN_003b5790();" (assignment_expression "local_34 = (undefined4 *******)FUN_003b5790()" (identifier "local_34") (= "=") (cast_expression "(undefined4 *******)FUN_003b5790()" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_003b5790()" (identifier "FUN_003b5790") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_2c = local_50;" (assignment_expression "local_2c = local_50" (identifier "local_2c") (= "=") (identifier "local_50")) (; ";")) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" (identifier "pppppppuVar12") (= "=") (identifier "local_34")) (; ";")) (expression_statement "pppppppuVar10 = local_7c;" (assignment_expression "pppppppuVar10 = local_7c" (identifier "pppppppuVar10") (= "=") (identifier "local_7c")) (; ";")) (labeled_statement "LAB_002f9d83:\n    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" (statement_identifier "LAB_002f9d83") (: ":") (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";"))) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppppuVar12")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9d93")) (; ";")) (expression_statement "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8));" (call_expression "memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" (identifier "memcpy") (argument_list "(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),\n           *(size_t *)((int)pppppppuVar19 + -8))" (( "(") (pointer_expression "*(void **)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(void **)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(void **)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(size_t *)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) () ")"))) (; ";")) (expression_statement "pppppppuVar12 = local_34;" (assignment_expression "pppppppuVar12 = local_34" (identifier "pppppppuVar12") (= "=") (identifier "local_34")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;" (assignment_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0" (pointer_expression "*(undefined1 *)((int)pppppppuVar12 + (int)local_50)" (* "*") (cast_expression "(undefined1 *)((int)pppppppuVar12 + (int)local_50)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar12 + (int)local_50)" (( "(") (binary_expression "(int)pppppppuVar12 + (int)local_50" (cast_expression "(int)pppppppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar12")) (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_74")) (; ";")) (expression_statement "*(int *)((int)pppppppuVar19 + -0x10) = param_2;" (assignment_expression "*(int *)((int)pppppppuVar19 + -0x10) = param_2" (pointer_expression "*(int *)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(int *)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9923")) (; ";")) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" (identifier "local_30") (= "=") (identifier "local_50")) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_00279d90();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_00279d90()" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)FUN_00279d90()" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_00279d90()" (identifier "FUN_00279d90") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (local_34 != local_64) {\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" (if "if") (parenthesized_expression "(local_34 != local_64)" (( "(") (binary_expression "local_34 != local_64" (identifier "local_34") (!= "!=") (identifier "local_64")) () ")")) (compound_statement "{\n    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;\n    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;\n    local_64 = pppppppuVar10;\n    FUN_003ae080();\n    pppppppuVar10 = local_64;\n  }" ({ "{") (expression_statement "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;" (assignment_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34" (pointer_expression "*(undefined4 ********)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 ********)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f993d")) (; ";")) (expression_statement "local_64 = pppppppuVar10;" (assignment_expression "local_64 = pppppppuVar10" (identifier "local_64") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppuVar10 = local_64;" (assignment_expression "pppppppuVar10 = local_64" (identifier "pppppppuVar10") (= "=") (identifier "local_64")) (; ";")) (} "}"))) (if_statement "if (pppppppuVar10 != (undefined4 *******)0x0) {\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" (if "if") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)0x0" (identifier "pppppppuVar10") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;\n    local_38 = pppppppuVar10;\n  }" ({ "{") (expression_statement "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;" (assignment_expression "*(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x91)" (( "(") (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_1 + 0x91) | 2" (pointer_expression "*(byte *)((int)param_1 + 0x91)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x91)" (( "(") (binary_expression "(int)param_1 + 0x91" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (expression_statement "local_38 = pppppppuVar10;" (assignment_expression "local_38 = pppppppuVar10" (identifier "local_38") (= "=") (identifier "pppppppuVar10")) (; ";")) (} "}"))) (labeled_statement "LAB_002f9954:\n  pppppuVar18 = param_1[0x1c];" (statement_identifier "LAB_002f9954") (: ":") (expression_statement "pppppuVar18 = param_1[0x1c];" (assignment_expression "pppppuVar18 = param_1[0x1c]" (identifier "pppppuVar18") (= "=") (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]"))) (; ";"))) (if_statement "if (pppppuVar18 != param_1[0x1d]) {\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" (if "if") (parenthesized_expression "(pppppuVar18 != param_1[0x1d])" (( "(") (binary_expression "pppppuVar18 != param_1[0x1d]" (identifier "pppppuVar18") (!= "!=") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) () ")")) (compound_statement "{\n    *pppppuVar18 = local_4c;\n    pppppuVar18[1] = local_48;\n    pppppuVar18[2] = local_44;\n    pppppuVar18[3] = local_40;\n    pppppuVar18[4] = local_3c;\n    pppppuVar18[5] = local_38;\n    param_1[0x1c] = pppppuVar18 + 6;\n    return CONCAT44(pppppppuVar9,pppppppuVar16);\n  }" ({ "{") (expression_statement "*pppppuVar18 = local_4c;" (assignment_expression "*pppppuVar18 = local_4c" (pointer_expression "*pppppuVar18" (* "*") (identifier "pppppuVar18")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pppppuVar18[1] = local_48;" (assignment_expression "pppppuVar18[1] = local_48" (subscript_expression "pppppuVar18[1]" (identifier "pppppuVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "pppppuVar18[2] = local_44;" (assignment_expression "pppppuVar18[2] = local_44" (subscript_expression "pppppuVar18[2]" (identifier "pppppuVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "pppppuVar18[3] = local_40;" (assignment_expression "pppppuVar18[3] = local_40" (subscript_expression "pppppuVar18[3]" (identifier "pppppuVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "pppppuVar18[4] = local_3c;" (assignment_expression "pppppuVar18[4] = local_3c" (subscript_expression "pppppuVar18[4]" (identifier "pppppuVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "pppppuVar18[5] = local_38;" (assignment_expression "pppppuVar18[5] = local_38" (subscript_expression "pppppuVar18[5]" (identifier "pppppuVar18") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "param_1[0x1c] = pppppuVar18 + 6;" (assignment_expression "param_1[0x1c] = pppppuVar18 + 6" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (binary_expression "pppppuVar18 + 6" (identifier "pppppuVar18") (+ "+") (number_literal "6"))) (; ";")) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" (return "return") (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" (identifier "CONCAT44") (argument_list "(pppppppuVar9,pppppppuVar16)" (( "(") (identifier "pppppppuVar9") (, ",") (identifier "pppppppuVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;" (assignment_expression "*(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c" (pointer_expression "*(undefined4 *********)((int)pppppppuVar19 + -8)" (* "*") (cast_expression "(undefined4 *********)((int)pppppppuVar19 + -8)" (( "(") (type_descriptor "undefined4 *********" (type_identifier "undefined4") (abstract_pointer_declarator "*********" (* "*") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -8)" (( "(") (binary_expression "(int)pppppppuVar19 + -8" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;" (assignment_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18" (pointer_expression "*(undefined4 ******)((int)pppppppuVar19 + -0xc)" (* "*") (cast_expression "(undefined4 ******)((int)pppppppuVar19 + -0xc)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0xc)" (( "(") (binary_expression "(int)pppppppuVar19 + -0xc" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pppppuVar18")) (; ";")) (expression_statement "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;" (assignment_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b" (pointer_expression "*(undefined4 *******)((int)pppppppuVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *******)((int)pppppppuVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x10)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x10" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_1 + 0x1b" (identifier "param_1") (+ "+") (number_literal "0x1b"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;" (assignment_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc" (pointer_expression "*(undefined4 *)((int)pppppppuVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppppuVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar19 + -0x14)" (( "(") (binary_expression "(int)pppppppuVar19 + -0x14" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2f9dbc")) (; ";")) (expression_statement "FUN_002de9c0();" (call_expression "FUN_002de9c0()" (identifier "FUN_002de9c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return CONCAT44(pppppppuVar9,pppppppuVar16);" (return "return") (call_expression "CONCAT44(pppppppuVar9,pppppppuVar16)" (identifier "CONCAT44") (argument_list "(pppppppuVar9,pppppppuVar16)" (( "(") (identifier "pppppppuVar9") (, ",") (identifier "pppppppuVar16") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: add_input_section<32, false>
   DWARF original prototype: off_t add_input_section<32,_false>(Output_section * this, Layout *
   layout, Sized_relobj_file<32,_false> * object, uint shndx, char * secname, Shdr<32,_false> *
   shdr, uint reloc_shndx, bool have_sections_script) */

type_1 __thiscall
gold::type_4::add_input_section<32,_false>
          (type_4 *this,type_24 *layout,Sized_relobj_file<32,_false> *object,type_9 var_4,
          char *secname,Shdr<32,_false> *shdr,type_9 var_21,bool have_sections_script)

{
  type_19 *var_5;
  type_2 *pp_Var2;
  type_3 *var_2;
  type_2 var_3;
  type_4 *var_45;
  type_5 *var_31;
  type_6 *pPVar7;
  type_7 *var_23;
  type_8 *var_47;
  type_9 var_12;
  type_9 var_11;
  type_10 keeps_input_sections;
  char var_44;
  type_4 *pOVar13;
  size_t var_50;
  type_9 var_10;
  char *pcVar16;
  char *format;
  type_11 this_00;
  type_5 *paVar17;
  type_2 p_Var18;
  type_2 p_Var19;
  int var_13;
  type_5 *var_35;
  type_12 extraout_ECX;
  var_1<32> *pSVar22;
  type_13 var_46;
  type_4 **ppOVar24;
  type_12 *puVar25;
  type_14 *var_14;
  type_14 *var_15;
  bool var_16;
  bool bVar29;
  type_14 var_26;
  type_1 var_28;
  type_4 *pOStack_a0;
  type_4 *in_stack_ffffff64;
  type_12 in_stack_ffffff68;
  type_12 in_stack_ffffff6c;
  type_6 **ppPVar32;
  type_9 local_84;
  type_9 var_33;
  type_5 *local_74;
  type_15 **local_68;
  type_9 var_7;
  type_9 var_6;
  type_16 var_53;
  type_17 fill_data;
  type_18 local_34;
  
  var_26 = 0;
  var_6 = 0;
  pSVar22 = shdr->p_;
  var_33 = pSVar22->sh_size;
  var_7 = pSVar22->sh_addralign;
  var_2 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.compressed_sections_;
  if (var_2 != (type_3 *)0x0) {
    var_5 = &(var_2->_M_t)._M_impl.super__Rb_tree_header;
    var_3 = (var_2->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
    p_Var18 = &var_5->_M_header;
    if (var_3 != (type_2)0x0) {
      do {
        while (p_Var19 = var_3, p_Var19[1]._M_color < var_4) {
          pp_Var2 = &p_Var19->_M_right;
          var_3 = *pp_Var2;
          p_Var19 = p_Var18;
          if (*pp_Var2 == (type_2)0x0) goto LAB_002f96c8;
        }
        var_3 = p_Var19->_M_left;
        p_Var18 = p_Var19;
      } while (p_Var19->_M_left != (type_2)0x0);
LAB_002f96c8:
      if ((var_5 != (type_19 *)p_Var19) &&
         (((type_19 *)p_Var19)->_M_node_count <= var_4)) {
        var_33 = *(type_9 *)((int)p_Var19 + 0x14);
        var_6 = *(type_9 *)((type_10 *)((int)p_Var19 + 0x14) + 0x10);
        var_7 = *(type_9 *)((type_10 *)((int)p_Var19 + 0x14) + 0xc);
      }
    }
  }
  if (((var_6 - 1) + (type_9)(var_7 != 0) & var_6) != 0 || (var_7 & var_7 - 1) != 0) {
    pcVar16 = (char *)var_8("invalid alignment %lu for section \"%s\"");
    pOStack_a0 = (type_4 *)secname;
    Object::var_9((type_20 *)object,pcVar16,var_7);
    var_7 = 1;
    var_6 = 0;
    pSVar22 = shdr->p_;
  }
  local_68 = &_GLOBAL_OFFSET_TABLE_;
  ppOVar24 = (type_4 **)&stack0xffffff64;
  puVar25 = (type_12 *)&stack0xffffff64;
  var_10 = *(type_9 *)((int)&this->addralign_ + 4);
  var_12 = (type_9)((type_9)this->addralign_ < var_7);
  var_11 = var_10 - var_6;
  var_16 = var_10 < var_6 || var_11 < var_12;
  bVar29 = var_11 == var_12;
  if (var_10 < var_6 || var_11 < var_12) {
    *(type_9 *)&this->addralign_ = var_7;
    *(type_9 *)((int)&this->addralign_ + 4) = var_6;
  }
  local_74 = (type_5 *)pSVar22->sh_flags;
  var_13 = 0xb;
  local_84 = pSVar22->sh_entsize;
  var_14 = (type_14 *)secname;
  var_15 = (type_14 *)".debug_str";
  do {
    if (var_13 == 0) break;
    var_13 = var_13 + -1;
    var_16 = *var_14 < *var_15;
    bVar29 = *var_14 == *var_15;
    var_14 = var_14 + (type_9)var_26 * -2 + 1;
    var_15 = var_15 + (type_9)var_26 * -2 + 1;
  } while (bVar29);
  if ((!var_16 && !bVar29) == var_16) {
    local_74 = (type_5 *)((type_9)local_74 | 0x30);
    local_84 = 1;
  }
  var_17(this,var_18(local_74));
  if ((this->field_0x92 & 2) == 0) {
    pOStack_a0 = (type_4 *)0x2f9773;
    var_19(in_stack_ffffff64,var_20(in_stack_ffffff6c,in_stack_ffffff68));
  }
  if (((((type_9)local_74 & 0x10) != 0) && (var_21 == 0)) && (shdr->p_->sh_size != 0)) {
    ppPVar32 = &parameters;
    var_16 = type_6::var_22(parameters);
    if (!var_16) {
      if (((this->field_0x92 & 0x10) != 0) || (have_sections_script)) {
        keeps_input_sections = true;
      }
      else {
        pPVar7 = *ppPVar32;
        var_23 = pPVar7->target_;
        var_35 = local_74;
        if (var_23 == (type_7 *)0x0) goto LAB_002f9f4f;
        if ((pPVar7->options_ == (type_21 *)0x0) ||
           (keeps_input_sections = true, (pPVar7->debug_ & 8) == 0)) {
          if (var_23->_vptr_Target[0x1c] == type_7::var_24) {
            pOStack_a0 = (type_4 *)0x2f9b16;
            keeps_input_sections = type_7::var_24((type_7 *)in_stack_ffffff64);
          }
          else {
            var_13 = (*var_23->_vptr_Target[0x1c])(var_23);
            keeps_input_sections = (type_10)var_13;
          }
        }
      }
      var_16 = var_25
                         (this,(type_22 *)object,var_4,var_18(local_74),(type_23)local_84,
                          var_20(var_6,var_7),(bool)keeps_input_sections);
      if (var_16) {
        return -1;
      }
    }
  }
  var_26 = this->field_0x92;
  if ((var_26 & 0x20) != 0) {
    var_28 = Free_list::var_27(&this->free_list_,(type_23)var_33,var_20(var_6,var_7),0
                                );
    if (var_28 != -1) {
      return var_28;
    }
    pcVar16 = this->name_;
    format = (char *)var_8("out of patch space in section %s; relink with --incremental-full");
                    /* WARNING: Subroutine does not return */
    var_29(format,pcVar16);
  }
  var_45 = *(type_4 **)((int)&(this->super_Output_data).data_size_ + 4);
  var_31 = *(type_5 **)&(this->super_Output_data).data_size_;
  var_35 = var_31;
  pOVar13 = var_45;
  if (var_6 != 0 || var_7 != 0) {
    var_35 = (type_5 *)
              ((type_9)((type_10 *)((int)var_31 - 1U) + var_7) & -var_7);
    pOVar13 = (type_4 *)
              ((int)var_45 +
               (type_9)var_30((int)var_31 - 1U,var_7) +
               var_6 + ((var_31 != (type_5 *)0x0) - 1) &
              -(var_6 + (var_7 != 0)));
  }
  if (((this->super_Output_data).field_0x1c & 2) != 0) {
    pOStack_a0 = this;
                    /* WARNING: Subroutine does not return */
    var_32("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(type_9 *)&(this->super_Output_data).data_size_ = var_33 + (int)var_35;
  *(type_9 *)((int)&(this->super_Output_data).data_size_ + 4) =
       (int)&(pOVar13->super_Output_data)._vptr_Output_data + (type_9)var_30(var_33,(type_9)var_35);
  if (((var_26 & 1) != 0) || (have_sections_script)) {
LAB_002f9834:
    if (((var_34((int)var_45,(int)pOVar13) !=
         var_34((int)var_45 - (int)pOVar13,(type_9)(var_31 < var_35))) ==
         (int)(((int)var_45 - (int)pOVar13) - (type_9)(var_31 < var_35)) < 0) || ((var_26 & 1) != 0))
    goto LAB_002f9852;
    if (!have_sections_script) {
      ppOVar24 = (type_4 **)&stack0xffffff64;
      if (((type_9)local_74 & 4) != 0) {
LAB_002f9bab:
        var_23 = parameters->target_;
        puVar25 = (type_12 *)&stack0xffffff64;
        if (var_23 == (type_7 *)0x0) goto LAB_002f9f4f;
        ppOVar24 = (type_4 **)&stack0xffffff64;
        if (var_23->pti_->has_code_fill != false) {
          local_34.u1_.data_size._0_4_ = (int)var_35 - (int)var_31;
          if ((this->input_sections_).
              super__Vector_base<gold::type_4::type_18,_std::var_40<gold::type_4::type_18>var_36>
              ._M_impl._M_finish ==
              (this->input_sections_).
              super__Vector_base<gold::type_4::type_18,_std::var_40<gold::type_4::type_18>var_36>
              ._M_impl._M_start) {
            local_34.shndx_ = (type_9)var_31;
            local_34.p2align_ = (type_9)var_45;
            if ((int)pOVar13 - (int)var_45 != (type_9)(var_35 < var_31)) {
              pOStack_a0 = var_45;
                    /* WARNING: Subroutine does not return */
              var_32("../../gold/gold.h",0xc0,"convert_types");
            }
            std::vector<gold::Output_section::var_37,_std::var_40<gold::Output_section::var_37>var_36>::
            emplace_back<gold::Output_section::var_37>(&this->fills_,(var_37 *)&local_34);
            var_26 = this->field_0x92;
            ppOVar24 = (type_4 **)&stack0xffffff64;
          }
          else {
            (*var_23->_vptr_Target[6])(&fill_data,var_23,local_34.u1_.data_size._0_4_);
                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */
            this_00.object = (type_22 *)var_38(0x44);
                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */
            Output_data_const::var_39((var_39 *)this_00.object,&fill_data,1);
            local_34.shndx_ = 0xffffffff;
            local_34.p2align_ = 0;
            local_34.section_order_index_ = 0;
            local_34.u1_.data_size._0_4_ = 0;
            local_34.u1_.data_size._4_4_ = 0;
            local_34.u2_.object = this_00.object;
                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */
            std::
            vector<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
            ::emplace_back<gold::Output_section::type_18>(&this->input_sections_,&local_34);
            if ((anon_union_16_2_edb7204a_for_basic_string<var_41,_std::char_traits<var_41>,_std::var_40<var_41>var_36>var_42
                 *)fill_data._M_dataplus._M_p != &fill_data.field_2) {
              var_43(fill_data._M_dataplus._M_p);
            }
            var_26 = this->field_0x92;
            ppOVar24 = &pOStack_a0;
          }
        }
      }
LAB_002f9c88:
      puVar25 = ppOVar24;
      if ((var_26 & 0x10) != 0) goto LAB_002f9862;
      goto LAB_002f9c92;
    }
  }
  else {
    if (((type_9)local_74 & 4) == 0) {
      ppOVar24 = (type_4 **)&stack0xffffff64;
      if ((var_34((int)var_45,(int)pOVar13) !=
          var_34((int)var_45 - (int)pOVar13,(type_9)(var_31 < var_35))) !=
          (int)(((int)var_45 - (int)pOVar13) - (type_9)(var_31 < var_35)) < 0) goto LAB_002f9c88;
    }
    else {
      var_23 = parameters->target_;
      puVar25 = (type_12 *)&stack0xffffff64;
      if (var_23 == (type_7 *)0x0) goto LAB_002f9f4f;
      if (var_23->pti_->has_code_fill == false) {
        if ((var_34((int)var_45,(int)pOVar13) !=
            var_34((int)var_45 - (int)pOVar13,(type_9)(var_31 < var_35))) !=
            (int)(((int)var_45 - (int)pOVar13) - (type_9)(var_31 < var_35)) < 0) goto LAB_002f9bab;
      }
      else {
        if ((parameters->options_ == (type_21 *)0x0) || ((parameters->debug_ & 8) == 0)) {
          if (var_23->_vptr_Target[0x1c] == type_7::var_24) {
            pOStack_a0 = (type_4 *)0x2f9e18;
            var_44 = type_7::var_24((type_7 *)in_stack_ffffff64);
          }
          else {
            var_13 = (*var_23->_vptr_Target[0x1c])(var_23);
            var_44 = (char)var_13;
          }
          if ((var_44 == '\0') && (layout->section_ordering_specified_ == false)) {
            var_26 = this->field_0x92;
            goto LAB_002f9834;
          }
        }
        var_45 = (type_4 *)
                 (this->fills_).
                 super__Vector_base<gold::type_4::var_37,_std::var_40<gold::Output_section::var_37>var_36>
                 ._M_impl._M_start;
        if ((type_4 *)
            (this->fills_).
            super__Vector_base<gold::type_4::var_37,_std::var_40<gold::type_4::var_37>var_36>
            ._M_impl._M_finish != var_45) {
          pOStack_a0 = var_45;
                    /* WARNING: Subroutine does not return */
          var_32("../../gold/output.cc",0x9eb,"add_input_section");
        }
        var_26 = this->field_0x92;
        this->field_0x92 = var_26 | 1;
      }
    }
LAB_002f9852:
    ppOVar24 = (type_4 **)&stack0xffffff64;
    if (((var_26 & 0x10) == 0) &&
       (ppOVar24 = (type_4 **)&stack0xffffff64, puVar25 = (type_12 *)&stack0xffffff64,
       !have_sections_script)) {
LAB_002f9c92:
      ppOVar24 = (type_4 **)puVar25;
      var_46 = (this->input_sections_).
                super__Vector_base<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
                ._M_impl._M_start;
      if (((this->input_sections_).
           super__Vector_base<gold::type_4::type_18,_std::var_40<gold::type_4::type_18>var_36>
           ._M_impl._M_finish == var_46) &&
         (((this->field_0x91 & 4) == 0 && ((this->field_0x91 & 8) == 0)))) {
        if (parameters->options_ == (type_21 *)0x0) goto LAB_002f9f1a;
        if ((parameters->options_->Map_).user_set_via_option == false) {
          var_23 = parameters->target_;
          puVar25 = ppOVar24;
          if (var_23 == (type_7 *)0x0) {
LAB_002f9f4f:
            *(type_5 **)((int)puVar25 + -4) = var_35;
            *(char **)((int)puVar25 + -8) = "target";
            *(type_12 *)((int)puVar25 + -0xc) = 0x69;
            *(char **)((int)puVar25 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
            *(type_12 *)((int)puVar25 + -0x14) = 0x2f9f68;
            var_32(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          if ((parameters->debug_ & 8) == 0) {
            var_47 = var_23->_vptr_Target[0x1c];
            if (var_47 == type_7::var_24) {
              ppOVar24[-1] = (type_4 *)0x2f9d0b;
              var_44 = type_7::var_24((type_7 *)*ppOVar24);
            }
            else {
              ppOVar24[-4] = (type_4 *)var_23;
              ppOVar24[-5] = (type_4 *)0x2f9ef6;
              var_13 = (*var_47)();
              var_44 = (char)var_13;
            }
            if ((var_44 == '\0') && (layout->section_ordering_specified_ == false)) {
              return var_20(pOVar13,var_35);
            }
          }
        }
      }
    }
  }
LAB_002f9862:
  *(type_9 *)((int)ppOVar24 + -0xc) = var_6;
  *(type_9 *)((int)ppOVar24 + -0x10) = var_7;
  fill_data._M_dataplus._M_p = (type_13)var_4;
  *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9879;
  fill_data._M_string_length = var_48();
  fill_data.field_2._12_4_ = 0;
  if (var_4 + 4 < 4) {
    *(type_12 *)((int)ppOVar24 + -4) = extraout_ECX;
    *(char **)((int)ppOVar24 + -8) = "Input_section";
    *(type_12 *)((int)ppOVar24 + -0xc) = 0xe9a;
    *(char **)((int)ppOVar24 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
    *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9f1a;
    var_32(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),
                        *(char **)((int)ppOVar24 + -8));
  }
  fill_data.field_2._M_allocated_capacity = var_33;
  fill_data.field_2._4_4_ = 0;
  fill_data.field_2._8_4_ = object;
  var_46 = (type_13)local_68;
  if (parameters->options_ == (type_21 *)0x0) {
LAB_002f9f1a:
    *(type_13 *)((int)ppOVar24 + -4) = var_46;
    *(char **)((int)ppOVar24 + -8) = "options";
    *(type_12 *)((int)ppOVar24 + -0xc) = 0x5c;
    *(char **)((int)ppOVar24 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9f33;
    var_32(*(char **)((int)ppOVar24 + -0x10),*(int *)((int)ppOVar24 + -0xc),
                        *(char **)((int)ppOVar24 + -8));
  }
  if ((parameters->options_->section_ordering_file_).value == (char *)0x0) goto LAB_002f9954;
  *(char **)((int)ppOVar24 + -0x10) = secname;
  var_31 = &local_34.u1_;
  *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f98e5;
  local_34.shndx_ = (type_9)var_31;
  var_50 = var_49(*(char **)((int)ppOVar24 + -0x10));
  var_53 = var_50;
  if (var_50 < 0x10) {
    paVar17 = var_31;
    if (var_50 == 1) {
      local_34.u1_.data_size._0_1_ = *secname;
    }
    else if (var_50 != 0) goto LAB_002f9d83;
  }
  else {
    *(type_12 *)((int)ppOVar24 + -8) = 0;
    *(type_16 **)((int)ppOVar24 + -0xc) = &var_53;
    *(type_18 **)((int)ppOVar24 + -0x10) = &local_34;
    *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9d74;
    local_34.shndx_ =
         std::string::var_51(*(type_9 **)((int)ppOVar24 + -0x10),*(type_9 *)((int)ppOVar24 + -0xc));
    local_34.u1_.entsize._0_4_ = var_53;
    paVar17 = (type_5 *)local_34.shndx_;
LAB_002f9d83:
    *(size_t *)((int)ppOVar24 + -8) = var_50;
    *(char **)((int)ppOVar24 + -0xc) = secname;
    *(type_5 **)((int)ppOVar24 + -0x10) = paVar17;
    *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9d93;
    var_52(*(void **)((int)ppOVar24 + -0x10),*(void **)((int)ppOVar24 + -0xc),
           *(size_t *)((int)ppOVar24 + -8));
    paVar17 = (type_5 *)local_34.shndx_;
  }
  *(type_10 *)((int)paVar17 + var_53) = 0;
  *(type_18 **)((int)ppOVar24 + -0xc) = &local_34;
  *(type_24 **)((int)ppOVar24 + -0x10) = layout;
                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */
  *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9923;
  local_34.p2align_ = var_53;
  var_10 = type_24::var_54
                     (*(type_24 **)((int)ppOVar24 + -0x10),*(type_17 **)((int)ppOVar24 + -0xc));
  if ((type_5 *)local_34.shndx_ != var_31) {
    *(type_9 *)((int)ppOVar24 + -0x10) = local_34.shndx_;
    *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f993d;
    var_43(*(void **)((int)ppOVar24 + -0x10));
  }
  if (var_10 != 0) {
    this->field_0x91 = this->field_0x91 | 2;
    fill_data.field_2._12_4_ = var_10;
  }
LAB_002f9954:
  var_46 = (this->input_sections_).
            super__Vector_base<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
            ._M_impl._M_finish;
  if (var_46 !=
      (this->input_sections_).
      super__Vector_base<gold::type_4::type_18,_std::var_40<gold::type_4::type_18>var_36>
      ._M_impl._M_end_of_storage) {
    var_46->shndx_ = (type_9)fill_data._M_dataplus._M_p;
    var_46->p2align_ = fill_data._M_string_length;
    *(type_16 *)&var_46->u1_ = fill_data.field_2._M_allocated_capacity;
    *(type_12 *)((int)&var_46->u1_ + 4) = fill_data.field_2._4_4_;
    var_46->u2_ = (type_11)fill_data.field_2._8_4_;
    var_46->section_order_index_ = fill_data.field_2._12_4_;
    (this->input_sections_).
    super__Vector_base<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
    ._M_impl._M_finish = var_46 + 1;
    return var_20(pOVar13,var_35);
  }
  *(type_17 **)((int)ppOVar24 + -8) = &fill_data;
  *(type_13 *)((int)ppOVar24 + -0xc) = var_46;
  *(type_25 **)((int)ppOVar24 + -0x10) = &this->input_sections_;
  *(type_12 *)((int)ppOVar24 + -0x14) = 0x2f9dbc;
  std::
  vector<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
  ::_M_realloc_insert<const_gold::Output_section::type_18&>
            (*(vector<gold::Output_section::type_18,_std::var_40<gold::Output_section::type_18>var_36>
               **)((int)ppOVar24 + -0x10),*(type_18 **)((int)ppOVar24 + -0xc),
             *(type_18 **)((int)ppOVar24 + -8));
  return var_20(pOVar13,var_35);
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */

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

{
  undefined4 ***pppuVar1;
  undefined4 ***pppuVar2;
  undefined4 ****ppppuVar3;
  uint uVar4;
  uint uVar5;
  undefined4 ***pppuVar6;
  undefined1 uVar7;
  char cVar8;
  undefined4 *******pppppppuVar9;
  undefined4 *******pppppppuVar10;
  undefined4 uVar11;
  undefined4 *******pppppppuVar12;
  undefined4 ***pppuVar13;
  undefined4 ***pppuVar14;
  int iVar15;
  undefined4 *******pppppppuVar16;
  undefined4 extraout_ECX;
  int iVar17;
  undefined4 *****pppppuVar18;
  undefined4 *******pppppppuVar19;
  undefined1 *puVar20;
  undefined4 ******ppppppuVar21;
  byte *pbVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  longlong lVar26;
  undefined4 *******pppppppuStack_a0;
  undefined1 auStack_9c [8];
  undefined4 *****local_94;
  uint local_90;
  undefined4 *******local_8c;
  undefined4 *******local_88;
  uint local_84;
  undefined4 local_80;
  undefined4 *******local_7c;
  undefined4 ****local_78;
  undefined4 *******local_74;
  int local_70;
  undefined4 local_6c;
  undefined4 *****local_68;
  undefined4 *******local_64;
  undefined4 *****local_60;
  undefined4 *******local_50;
  undefined4 *******local_4c;
  undefined4 ****local_48;
  undefined4 *******local_44;
  undefined4 ****local_40;
  undefined4 ****local_3c;
  undefined4 *******local_38;
  undefined4 *******local_34;
  undefined4 *******local_30;
  undefined4 *******local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar25 = 0;
  local_68 = (undefined4 *****)&__DT_PLTGOT;
  local_60 = (undefined4 *****)0x0;
  local_6c = param_8;
  iVar17 = *param_6;
  local_7c = *(undefined4 ********)(iVar17 + 0x14);
  local_64 = *(undefined4 ********)(iVar17 + 0x20);
  pppuVar2 = param_3[0xd];
  if (pppuVar2 != (undefined4 ***)0x0) {
    pppuVar6 = (undefined4 ***)pppuVar2[2];
    pppuVar13 = pppuVar2 + 1;
    if ((undefined4 ***)pppuVar2[2] != (undefined4 ***)0x0) {
      do {
        while (pppuVar14 = pppuVar6, param_4 <= pppuVar14[4]) {
          pppuVar6 = (undefined4 ***)pppuVar14[2];
          pppuVar13 = pppuVar14;
          if ((undefined4 ***)pppuVar14[2] == (undefined4 ***)0x0) goto LAB_002f96c8;
        }
        pppuVar1 = pppuVar14 + 3;
        pppuVar6 = (undefined4 ***)*pppuVar1;
        pppuVar14 = pppuVar13;
      } while ((undefined4 ***)*pppuVar1 != (undefined4 ***)0x0);
LAB_002f96c8:
      if ((pppuVar2 + 1 != pppuVar14) && (pppuVar14[4] <= param_4)) {
        local_7c = (undefined4 *******)pppuVar14[5];
        local_60 = (undefined4 *****)pppuVar14[9];
        local_64 = (undefined4 *******)pppuVar14[8];
      }
    }
  }
  if (((int)local_60 + ((local_64 != (undefined4 *******)0x0) - 1) & (uint)local_60) != 0 ||
      ((uint)local_64 & (int)local_64 - 1U) != 0) {
    uVar11 = gettext("invalid alignment %lu for section \"%s\"");
    pppppppuStack_a0 = (undefined4 *******)param_5;
    FUN_0028b750(param_3,uVar11,local_64);
    local_64 = (undefined4 *******)0x1;
    local_60 = (undefined4 *****)0x0;
    iVar17 = *param_6;
  }
  pppppppuVar19 = (undefined4 *******)auStack_9c;
  puVar20 = auStack_9c;
  pppppuVar18 = param_1[10];
  uVar4 = (uint)(param_1[9] < local_64);
  uVar5 = (int)pppppuVar18 - (int)local_60;
  bVar23 = pppppuVar18 < local_60 || uVar5 < uVar4;
  bVar24 = uVar5 == uVar4;
  if (pppppuVar18 < local_60 || uVar5 < uVar4) {
    param_1[9] = local_64;
    param_1[10] = local_60;
  }
  local_74 = *(undefined4 ********)(iVar17 + 8);
  iVar15 = 0xb;
  local_84 = *(uint *)(iVar17 + 0x24);
  ppppppuVar21 = param_5;
  pbVar22 = (byte *)((int)local_68 + -0x157e09);
  do {
    if (iVar15 == 0) break;
    iVar15 = iVar15 + -1;
    bVar23 = *(byte *)ppppppuVar21 < *pbVar22;
    bVar24 = *(byte *)ppppppuVar21 == *pbVar22;
    ppppppuVar21 = (undefined4 ******)((int)ppppppuVar21 + (uint)bVar25 * -2 + 1);
    pbVar22 = pbVar22 + (uint)bVar25 * -2 + 1;
  } while (bVar24);
  if ((!bVar23 && !bVar24) == bVar23) {
    local_74 = (undefined4 *******)((uint)local_74 | 0x30);
    local_84 = 1;
  }
  pppppppuVar16 = local_74;
  local_80 = 0;
  FUN_002c6770(param_1,local_74,0);
  if ((*(byte *)((int)param_1 + 0x92) & 2) == 0) {
    pppppppuStack_a0 = (undefined4 *******)0x2f9773;
    FUN_002c4e40();
  }
  if (((((uint)local_74 & 0x10) != 0) && (param_7 == 0)) && (*(int *)(*param_6 + 0x14) != 0)) {
    local_94 = local_68 + 0x1f2;
    cVar8 = FUN_0030afd0(*local_94);
    if (cVar8 == '\0') {
      if (((*(byte *)((int)param_1 + 0x92) & 0x10) == 0) && ((char)local_6c == '\0')) {
        ppppuVar3 = *local_94;
        pppuVar2 = ppppuVar3[3];
        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (uVar7 = 1, ((uint)ppppuVar3[5] & 8) == 0)) {
          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {
            pppppppuStack_a0 = (undefined4 *******)0x2f9b16;
            uVar7 = FUN_002c5030();
          }
          else {
            uVar7 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);
          }
        }
      }
      else {
        uVar7 = 1;
      }
      cVar8 = FUN_002ccac0(param_1,param_3,param_4,pppppppuVar16,0,local_84,local_80,local_64,
                           local_60,uVar7);
      if (cVar8 != '\0') {
        return -1;
      }
    }
  }
  local_78 = (undefined4 ****)0x0;
  bVar25 = *(byte *)((int)param_1 + 0x92);
  local_84 = CONCAT31(local_84._1_3_,bVar25);
  if ((bVar25 & 0x20) != 0) {
    lVar26 = FUN_00270e00(param_1 + 0x2d,local_7c,0,local_64,local_60,0,0);
    if (lVar26 != -1) {
      return lVar26;
    }
    pppppuVar18 = param_1[8];
    uVar11 = gettext(local_68 + -0x55fdf);
                    /* WARNING: Subroutine does not return */
    FUN_0023b7e0(uVar11,pppppuVar18);
  }
  local_88 = (undefined4 *******)param_1[4];
  local_8c = (undefined4 *******)param_1[3];
  pppppppuVar16 = local_8c;
  pppppppuVar9 = local_88;
  if (local_60 != (undefined4 *****)0x0 || local_64 != (undefined4 *******)0x0) {
    local_94 = (undefined4 *****)(((int)local_8c - 1U) + (int)local_64);
    local_90 = (int)local_88 +
               (int)local_60 +
               (uint)CARRY4((int)local_8c - 1U,(uint)local_64) +
               ((local_8c != (undefined4 *******)0x0) - 1);
    pppppppuVar16 = (undefined4 *******)((uint)local_94 & -(int)local_64);
    pppppppuVar9 = (undefined4 *******)
                   (local_90 & -((int)local_60 + (uint)(local_64 != (undefined4 *******)0x0)));
  }
  if (((uint)param_1[7] & 2) != 0) {
    pppppppuStack_a0 = (undefined4 *******)param_1;
                    /* WARNING: Subroutine does not return */
    FUN_002446e0((int)local_68 + -0x19cca3,0x231,local_68 + -0x55928);
  }
  param_1[3] = (undefined4 *****)((int)local_7c + (int)pppppppuVar16);
  param_1[4] = (undefined4 *****)
               ((int)pppppppuVar9 + (uint)CARRY4((uint)local_7c,(uint)pppppppuVar16));
  if (((bVar25 & 1) == 0) && ((char)local_6c == '\0')) {
    if (((uint)local_74 & 4) == 0) {
      pppppppuVar19 = (undefined4 *******)auStack_9c;
      if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=
          SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=
          (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)
      goto LAB_002f9c88;
    }
    else {
      local_94 = local_68 + 0x1f2;
      ppppuVar3 = *local_94;
      pppuVar2 = ppppuVar3[3];
      puVar20 = auStack_9c;
      if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
      if (*(char *)((int)pppuVar2[1] + 0xe) == '\0') {
        if ((SBORROW4((int)local_88,(int)pppppppuVar9) !=
            SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) !=
            (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0)
        goto LAB_002f9bab;
      }
      else {
        if ((ppppuVar3[2] == (undefined4 ***)0x0) || (((uint)ppppuVar3[5] & 8) == 0)) {
          if ((undefined4 *****)(*pppuVar2)[0x1c] == local_68 + -0x15e2d0) {
            pppppppuStack_a0 = (undefined4 *******)0x2f9e18;
            cVar8 = FUN_002c5030();
          }
          else {
            cVar8 = (*(code *)(*pppuVar2)[0x1c])(pppuVar2);
          }
          if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            goto LAB_002f9834;
          }
        }
        if (param_1[0x21] != param_1[0x20]) {
          pppppppuStack_a0 = (undefined4 *******)param_1[0x20];
                    /* WARNING: Subroutine does not return */
          FUN_002446e0((int)local_68 + -0x1582f5,0x9eb,local_68 + -0x55b24);
        }
        bVar25 = *(byte *)((int)param_1 + 0x92);
        local_74 = (undefined4 *******)CONCAT31(local_74._1_3_,bVar25);
        *(byte *)((int)param_1 + 0x92) = bVar25 | 1;
        local_84 = CONCAT31(local_84._1_3_,bVar25) | 1;
      }
    }
LAB_002f9852:
    pppppppuVar19 = (undefined4 *******)auStack_9c;
    if (((local_84 & 0x10) == 0) &&
       (pppppppuVar19 = (undefined4 *******)auStack_9c, puVar20 = auStack_9c, (char)local_6c == '\0'
       )) {
LAB_002f9c92:
      pppppppuVar19 = (undefined4 *******)puVar20;
      pppppuVar18 = param_1[0x1b];
      if ((param_1[0x1c] == pppppuVar18) &&
         (((*(byte *)((int)param_1 + 0x91) & 4) == 0 && ((*(byte *)((int)param_1 + 0x91) & 8) == 0))
         )) {
        ppppuVar3 = local_68[0x1f2];
        if (ppppuVar3[2] == (undefined4 ***)0x0) goto LAB_002f9f1a;
        if (*(char *)(ppppuVar3[2] + 0x91f) == '\0') {
          pppuVar2 = ppppuVar3[3];
          puVar20 = (undefined1 *)pppppppuVar19;
          if (pppuVar2 == (undefined4 ***)0x0) {
LAB_002f9f4f:
            *(undefined4 ********)(puVar20 + -4) = pppppppuVar16;
            *(undefined4 ******)(puVar20 + -8) = local_68 + -0x558c7;
            *(undefined4 *)(puVar20 + -0xc) = 0x69;
            *(int *)(puVar20 + -0x10) = (int)local_68 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar20 + -0x14) = 0x2f9f68;
            FUN_002446e0();
          }
          if (((uint)ppppuVar3[5] & 8) == 0) {
            pppppuVar18 = (undefined4 *****)(*pppuVar2)[0x1c];
            if (pppppuVar18 == local_68 + -0x15e2d0) {
              *(undefined4 *)((int)pppppppuVar19 + -4) = 0x2f9d0b;
              cVar8 = FUN_002c5030();
            }
            else {
              *(undefined4 ****)((int)pppppppuVar19 + -0x10) = pppuVar2;
              *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9ef6;
              cVar8 = (*(code *)pppppuVar18)();
            }
            if ((cVar8 == '\0') && (*(char *)(param_2 + 0x1cd) == '\0')) {
              return CONCAT44(pppppppuVar9,pppppppuVar16);
            }
          }
        }
      }
    }
  }
  else {
LAB_002f9834:
    if (((SBORROW4((int)local_88,(int)pppppppuVar9) !=
         SBORROW4((int)local_88 - (int)pppppppuVar9,(uint)(local_8c < pppppppuVar16))) ==
         (int)(((int)local_88 - (int)pppppppuVar9) - (uint)(local_8c < pppppppuVar16)) < 0) ||
       ((local_84 & 1) != 0)) goto LAB_002f9852;
    if ((char)local_6c == '\0') {
      pppppppuVar19 = (undefined4 *******)auStack_9c;
      if (((uint)local_74 & 4) != 0) {
        local_94 = local_68 + 0x1f2;
LAB_002f9bab:
        pppuVar2 = (*local_94)[3];
        puVar20 = auStack_9c;
        if (pppuVar2 == (undefined4 ***)0x0) goto LAB_002f9f4f;
        pppppppuVar19 = (undefined4 *******)auStack_9c;
        if (*(char *)((int)pppuVar2[1] + 0xe) != '\0') {
          local_74 = (undefined4 *******)((int)pppppppuVar16 - (int)local_8c);
          local_70 = (int)pppppppuVar9 + (-(uint)(pppppppuVar16 < local_8c) - (int)local_88);
          if (param_1[0x1c] == param_1[0x1b]) {
            local_34 = local_8c;
            local_30 = local_88;
            if (local_70 != 0) {
              pppppppuStack_a0 = local_88;
                    /* WARNING: Subroutine does not return */
              FUN_002446e0(local_68 + -0x672d3,0xc0,local_68 + -0x55b28);
            }
            local_2c = local_74;
            FUN_002e83d0(param_1 + 0x20,&local_34);
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            pppppppuVar19 = (undefined4 *******)auStack_9c;
          }
          else {
            pppppppuVar19 = local_74;
            local_74 = &local_4c;
            (*(code *)(*pppuVar2)[6])(&local_4c,pppuVar2,pppppppuVar19);
                    /* try { // try from 002f9c08 to 002f9c0c has its CatchHandler @ 002f9fb0 */
            uVar11 = FUN_003ac4d0(0x44);
            local_84 = uVar11;
                    /* try { // try from 002f9c1d to 002f9c21 has its CatchHandler @ 002f9fac */
            FUN_002e80a0(uVar11,local_74,1,0);
            local_34 = (undefined4 *******)0xffffffff;
            local_30 = (undefined4 *******)0x0;
            local_20 = 0;
            local_2c = (undefined4 *******)0x0;
            local_28 = 0;
            local_24 = uVar11;
                    /* try { // try from 002f9c55 to 002f9c59 has its CatchHandler @ 002f9fb0 */
            FUN_002e2370(param_1 + 0x1b,&local_34);
            if ((undefined4 ********)local_4c != &local_44) {
              FUN_003ae080(local_4c);
            }
            local_84 = CONCAT31(local_84._1_3_,*(undefined1 *)((int)param_1 + 0x92));
            pppppppuVar19 = &pppppppuStack_a0;
          }
        }
      }
LAB_002f9c88:
      puVar20 = (undefined1 *)pppppppuVar19;
      if ((local_84 & 0x10) != 0) goto LAB_002f9862;
      goto LAB_002f9c92;
    }
  }
LAB_002f9862:
  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = local_60;
  *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_64;
  local_4c = param_4;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9879;
  local_48 = (undefined4 ****)FUN_00442880();
  local_38 = (undefined4 *******)0x0;
  if (param_4 + 1 < (undefined4 *******)0x4) {
    *(undefined4 *)((int)pppppppuVar19 + -4) = extraout_ECX;
    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x55b2c;
    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0xe9a;
    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f1a;
    FUN_002446e0();
  }
  local_44 = local_7c;
  local_40 = local_78;
  local_3c = param_3;
  pppppuVar18 = local_68;
  if (local_68[0x1f2][2] == (undefined4 ***)0x0) {
LAB_002f9f1a:
    *(undefined4 ******)((int)pppppppuVar19 + -4) = pppppuVar18;
    *(undefined4 ******)((int)pppppppuVar19 + -8) = local_68 + -0x558d2;
    *(undefined4 *)((int)pppppppuVar19 + -0xc) = 0x5c;
    *(int *)((int)pppppppuVar19 + -0x10) = (int)local_68 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9f33;
    FUN_002446e0();
  }
  if (local_68[0x1f2][2][0xdb6] == (undefined4 **)0x0) goto LAB_002f9954;
  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_5;
  local_74 = &local_34;
  local_64 = &local_2c;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f98e5;
  local_34 = local_64;
  pppppppuVar10 = (undefined4 *******)strlen(*(char **)((int)pppppppuVar19 + -0x10));
  local_50 = pppppppuVar10;
  if (pppppppuVar10 < (undefined4 *******)0x10) {
    pppppppuVar12 = local_64;
    if (pppppppuVar10 == (undefined4 *******)0x1) {
      local_2c = (undefined4 *******)CONCAT31(local_2c._1_3_,*(byte *)param_5);
    }
    else if (pppppppuVar10 != (undefined4 *******)0x0) goto LAB_002f9d83;
  }
  else {
    *(undefined4 *)((int)pppppppuVar19 + -8) = 0;
    *(undefined4 *********)((int)pppppppuVar19 + -0xc) = &local_50;
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_74;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d74;
    local_7c = pppppppuVar10;
    local_34 = (undefined4 *******)FUN_003b5790();
    local_2c = local_50;
    pppppppuVar12 = local_34;
    pppppppuVar10 = local_7c;
LAB_002f9d83:
    *(undefined4 ********)((int)pppppppuVar19 + -8) = pppppppuVar10;
    *(undefined4 *******)((int)pppppppuVar19 + -0xc) = param_5;
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = pppppppuVar12;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9d93;
    memcpy(*(void **)((int)pppppppuVar19 + -0x10),*(void **)((int)pppppppuVar19 + -0xc),
           *(size_t *)((int)pppppppuVar19 + -8));
    pppppppuVar12 = local_34;
  }
  *(undefined1 *)((int)pppppppuVar12 + (int)local_50) = 0;
  *(undefined4 ********)((int)pppppppuVar19 + -0xc) = local_74;
  *(int *)((int)pppppppuVar19 + -0x10) = param_2;
                    /* try { // try from 002f991e to 002f9922 has its CatchHandler @ 002f9fa8 */
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9923;
  local_30 = local_50;
  pppppppuVar10 = (undefined4 *******)FUN_00279d90();
  if (local_34 != local_64) {
    *(undefined4 ********)((int)pppppppuVar19 + -0x10) = local_34;
    *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f993d;
    local_64 = pppppppuVar10;
    FUN_003ae080();
    pppppppuVar10 = local_64;
  }
  if (pppppppuVar10 != (undefined4 *******)0x0) {
    *(byte *)((int)param_1 + 0x91) = *(byte *)((int)param_1 + 0x91) | 2;
    local_38 = pppppppuVar10;
  }
LAB_002f9954:
  pppppuVar18 = param_1[0x1c];
  if (pppppuVar18 != param_1[0x1d]) {
    *pppppuVar18 = local_4c;
    pppppuVar18[1] = local_48;
    pppppuVar18[2] = local_44;
    pppppuVar18[3] = local_40;
    pppppuVar18[4] = local_3c;
    pppppuVar18[5] = local_38;
    param_1[0x1c] = pppppuVar18 + 6;
    return CONCAT44(pppppppuVar9,pppppppuVar16);
  }
  *(undefined4 *********)((int)pppppppuVar19 + -8) = &local_4c;
  *(undefined4 ******)((int)pppppppuVar19 + -0xc) = pppppuVar18;
  *(undefined4 *******)((int)pppppppuVar19 + -0x10) = param_1 + 0x1b;
  *(undefined4 *)((int)pppppppuVar19 + -0x14) = 0x2f9dbc;
  FUN_002de9c0();
  return CONCAT44(pppppppuVar9,pppppppuVar16);
}

