
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: uint64_t set_section_list_addresses(Output_segment * this, Layout *
   layout, bool reset, Output_data_list * pdl, uint64_t addr, off_t * poff, off_t * pfoff, uint *
   pshndx, bool * in_tls) */

uint64_t __thiscall
gold::Output_segment::set_section_list_addresses
          (Output_segment *this,Layout *layout,bool reset,Output_data_list *pdl,uint64_t addr,
          off_t *poff,off_t *pfoff,uint *pshndx,bool *in_tls)

{
  int *piVar1;
  off_t *poVar2;
  byte bVar3;
  _func_int_varargs **pp_Var4;
  Errors *this_00;
  undefined4 uVar5;
  longlong lVar6;
  longlong lVar7;
  longlong lVar8;
  off_t minoff;
  longlong lVar9;
  longlong lVar10;
  off_t oVar11;
  off_t oVar12;
  byte bVar13;
  char cVar14;
  bool bVar15;
  Output_data *pOVar16;
  int iVar17;
  uint uVar18;
  uint uVar19;
  char *pcVar20;
  int iVar21;
  uint extraout_EDX;
  uint uVar22;
  uint uVar23;
  int iVar24;
  uint64_t uVar25;
  longlong lVar26;
  undefined4 uVar27;
  undefined4 uVar28;
  pointer local_6c;
  uint local_64;
  int local_5c;
  undefined8 local_54;
  undefined8 local_4c;
  
  oVar11 = *poff;
  iVar21 = *(int *)((int)poff + 4);
  lVar10 = *poff;
  minoff = *poff;
  lVar8 = *poff;
  local_4c = *poff;
  lVar26 = *poff;
  lVar9 = *pfoff;
  lVar7 = *pfoff;
  local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).
             _M_impl._M_start;
  lVar6 = *poff;
  if (local_6c !=
      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.
      _M_finish) {
    do {
      local_5c = (int)((ulonglong)lVar7 >> 0x20);
      local_64 = (uint)lVar7;
      iVar24 = (int)((ulonglong)lVar26 >> 0x20);
      uVar18 = (uint)lVar26;
      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);
      bVar13 = (byte)iVar17;
      uVar28 = 0x400;
      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);
      cVar14 = (char)iVar17;
      if (reset) {
        pOVar16 = *local_6c;
        bVar3 = pOVar16->field_0x1c;
        pOVar16->field_0x1c = bVar3 & 0xfa;
        if ((bVar3 & 8) == 0) {
          pOVar16->field_0x1c = bVar3 & 0xf8;
        }
        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);
      }
      pOVar16 = *local_6c;
      if ((pOVar16->field_0x1c & 1) == 0) {
        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);
        local_54 = CONCAT44(extraout_EDX,uVar18);
        if (cVar14 == '\0') {
          if (*in_tls != false) {
            uVar25 = maximum_alignment(layout->tls_segment_);
            uVar23 = (uint)(uVar25 >> 0x20);
            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {
              local_54 = uVar25;
            }
            *in_tls = false;
          }
        }
        else if (*in_tls == false) {
          if (layout->tls_segment_ == (Output_segment *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");
          }
          local_54 = maximum_alignment(layout->tls_segment_);
          uVar23 = (uint)(local_54 >> 0x20);
          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");
          }
          *in_tls = true;
        }
        bVar15 = Parameters::incremental_update(parameters);
        if (bVar15) {
          pOVar16 = *local_6c;
          if ((pOVar16->field_0x1c & 2) == 0) {
            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);
            pOVar16 = *local_6c;
          }
          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);
          oVar12 = pOVar16->data_size_;
          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);
          if (lVar26 == -1) {
            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);
            if (iVar21 == 0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");
            }
            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);
            uVar28 = *(undefined4 *)(iVar21 + 0x20);
            pcVar20 = "out of patch space for section %s; relink with --incremental-full";
LAB_000f07c4:
            pcVar20 = (char *)gettext(pcVar20);
                    /* WARNING: Subroutine does not return */
            gold_fallback(pcVar20,uVar28);
          }
          pOVar16 = *local_6c;
          bVar3 = pOVar16->field_0x1c;
          if ((bVar3 & 1) != 0) goto LAB_000f089e;
          pOVar16->address_ = (lVar26 - lVar10) + addr;
          pOVar16->field_0x1c = bVar3 | 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          *(int *)&pOVar16->offset_ = (int)lVar26;
          pOVar16->field_0x1c = bVar3 | 5;
          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);
          if ((bVar3 & 2) == 0) {
            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);
            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;
            pOVar16 = *local_6c;
            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;
          }
          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);
          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);
          iVar24 = iVar17 - *piVar1;
          lVar7 = lVar26;
          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {
            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
            if (iVar21 == 0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");
            }
            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);
            uVar28 = *(undefined4 *)(iVar21 + 0x20);
            pcVar20 = "%s: section changed size; relink with --incremental-full";
            goto LAB_000f07c4;
          }
        }
        else {
          if ((lVar26 != lVar7) && (bVar13 != 1)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");
          }
          if (local_54._4_4_ != 0 || (int)local_54 != 0) {
            lVar26 = lVar26 + -1 + local_54;
            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &
                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);
          }
          if ((bVar13 != 1) || (cVar14 != '\0')) {
            lVar7 = lVar26;
          }
          pOVar16 = *local_6c;
          bVar3 = pOVar16->field_0x1c;
          if ((bVar3 & 1) != 0) {
LAB_000f089e:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0x142,"set_address");
          }
          pOVar16->address_ = (lVar26 - lVar10) + addr;
          pOVar16->field_0x1c = bVar3 | 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          pOVar16->field_0x1c = bVar3 | 5;
          pOVar16->offset_ = lVar7;
joined_r0x000f0642:
          if (((bVar3 & 2) == 0) &&
             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {
LAB_000f08bd:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");
          }
        }
      }
      else {
        bVar15 = Parameters::incremental_update(parameters);
        if (!bVar15) {
          pOVar16 = *local_6c;
          if ((pOVar16->field_0x1c & 1) == 0) {
LAB_000f0977:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0xc5,"address");
          }
          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);
          lVar9 = (lVar26 - lVar8) + addr;
          uVar19 = (uint)lVar9;
          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);
          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {
            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");
            }
            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
            pOVar16 = *local_6c;
            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;
            uVar27 = (undefined4)pOVar16->address_;
            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);
            if (iVar17 == 0) {
              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")
              ;
              lVar9 = CONCAT44(uVar27,uVar22);
              uVar27 = uVar5;
            }
            else {
              uVar19 = *(uint *)(iVar17 + 0x20);
              pcVar20 = (char *)gettext(
                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"
                                       );
              uVar28 = uVar5;
            }
            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);
            pOVar16 = *local_6c;
          }
          else if (((SBORROW4(local_5c,iVar24) !=
                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==
                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||
                  ((bVar13 ^ 1) == 0)) {
            lVar26 = lVar26 + pOVar16->address_;
            lVar6 = lVar26 - lVar9;
            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {
              lVar26 = lVar6;
              lVar7 = lVar6;
            }
          }
          else {
            pcVar20 = (char *)gettext(
                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"
                                     );
            gold_warning(pcVar20);
            pOVar16 = *local_6c;
            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;
            uVar23 = uVar18 + (int)pOVar16->address_;
            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +
                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -
                              (uint)(uVar23 < uVar19),uVar23 - uVar19);
            lVar7 = lVar26;
          }
          bVar3 = pOVar16->field_0x1c;
          if ((bVar3 & 4) != 0) {
LAB_000f087f:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");
          }
          pOVar16->field_0x1c = bVar3 | 4;
          pOVar16->offset_ = lVar7;
          goto joined_r0x000f0642;
        }
        if (((*local_6c)->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/output.h",0xe3,"offset");
        }
        poVar2 = &(*local_6c)->offset_;
        lVar26 = *poVar2;
        lVar7 = *poVar2;
      }
      uVar18 = (uint)lVar26;
      bVar15 = Parameters::incremental_update(parameters);
      if (bVar15) {
        pOVar16 = *local_6c;
        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))
        goto LAB_000f0095;
        this_00 = parameters->errors_;
        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
        pcVar20 = "(special)";
        if (iVar17 != 0) {
          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);
          pcVar20 = *(char **)(iVar17 + 0x20);
        }
        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;
        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,
                      (int)(*local_6c)->data_size_,pcVar20);
        pOVar16 = *local_6c;
        if (cVar14 != '\0') goto LAB_000f00a0;
LAB_000f03a0:
        if ((pOVar16->field_0x1c & 2) == 0) {
LAB_000f0860:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
        }
        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)
                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),
                          uVar18 + (int)pOVar16->data_size_);
        if (bVar13 == 0) {
          lVar7 = lVar26;
        }
      }
      else {
        pOVar16 = *local_6c;
LAB_000f0095:
        if (cVar14 == '\0') goto LAB_000f03a0;
LAB_000f00a0:
        if (bVar13 == 0) goto LAB_000f03a0;
      }
      iVar17 = (int)((ulonglong)lVar26 >> 0x20);
      uVar18 = (uint)((uint)local_4c < (uint)lVar26);
      bVar15 = SBORROW4(local_4c._4_4_,iVar17);
      iVar17 = local_4c._4_4_ - iVar17;
      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {
        local_4c = lVar26;
      }
      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);
      if ((char)iVar17 != '\0') {
        pOVar16 = *local_6c;
        pp_Var4 = (_func_int_varargs **)*pshndx;
        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {
          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&
             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");
          }
          pOVar16[3]._vptr_Output_data = pp_Var4;
        }
        else {
          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);
        }
        *pshndx = *pshndx + 1;
      }
      local_6c = local_6c + 1;
    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).
             _M_impl._M_finish != local_6c);
    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),
                           (uint)local_4c - (uint)oVar11);
    lVar6 = local_4c;
    lVar9 = lVar7;
  }
  local_4c = lVar6;
  *(uint *)poff = (uint)local_4c;
  *(int *)((int)poff + 4) = local_4c._4_4_;
  *pfoff = lVar9;
  return addr;
}



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

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

{
  longlong *plVar1;
  undefined ***pppuVar2;
  byte bVar3;
  undefined4 *puVar4;
  code *pcVar5;
  longlong lVar6;
  longlong lVar7;
  ulonglong uVar8;
  ulonglong uVar9;
  ulonglong uVar10;
  char cVar11;
  int iVar12;
  int iVar13;
  undefined4 uVar14;
  undefined **ppuVar15;
  undefined **ppuVar16;
  undefined ***pppuVar17;
  uint uVar18;
  undefined *puVar19;
  undefined4 uVar20;
  undefined *puVar21;
  bool bVar22;
  longlong lVar23;
  longlong lVar24;
  undefined **local_7c [2];
  undefined **appuStack_74 [7];
  int *local_58;
  undefined8 local_54;
  undefined8 local_4c;
  undefined **local_44;
  uint local_40;
  undefined4 local_3c;
  undefined4 local_38;
  char local_33;
  byte local_32;
  char local_31;
  int *local_30;
  undefined8 local_2c;
  int *local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  lVar24 = CONCAT44(param_6,param_5);
  uStack_14 = 0xefff9;
  appuStack_74[3] = &__DT_PLTGOT;
  pppuVar17 = appuStack_74 + 2;
  local_3c = param_5;
  local_31 = param_3;
  local_38 = param_6;
  local_44 = (undefined **)*param_7;
  local_40 = param_7[1];
  lVar23 = *(longlong *)param_7;
  local_4c = *(longlong *)param_7;
  lVar6 = *(longlong *)param_7;
  appuStack_74[4] = (undefined **)*param_8;
  appuStack_74[6] = (undefined **)param_8[1];
  appuStack_74[2] = (undefined **)*param_4;
  if (appuStack_74[2] != (undefined **)param_4[1]) {
    local_30 = &DAT_0038f378;
    local_24 = local_30;
    do {
      ppuVar15 = appuStack_74[2];
      iVar12 = (int)((ulonglong)lVar6 >> 0x20);
      puVar19 = (undefined *)lVar6;
      local_7c[0] = (undefined **)*appuStack_74[2];
      local_7c[1] = (undefined **)0x8;
      local_32 = (**(code **)(*local_7c[0] + 0x1c))();
      local_7c[0] = (undefined **)*ppuVar15;
      appuStack_74[0] = (undefined **)0x0;
      local_7c[1] = (undefined **)0x400;
      local_33 = (**(code **)(*local_7c[0] + 0x20))();
      if (local_31 != '\0') {
        local_7c[0] = (undefined **)*ppuVar15;
        bVar3 = *(byte *)(local_7c[0] + 7);
        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;
        if ((bVar3 & 8) == 0) {
          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;
        }
        (**(code **)(*local_7c[0] + 0x3c))();
      }
      local_7c[0] = (undefined **)*appuStack_74[2];
      if (((uint)local_7c[0][7] & 1) == 0) {
        lVar23 = (**(code **)(*local_7c[0] + 0xc))();
        local_54 = lVar23;
        if (local_33 == '\0') {
          if (*param_10 != '\0') {
            local_7c[0] = *(undefined ***)(param_2 + 0x164);
            lVar24 = FUN_000efe40();
            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);
            lVar23 = local_54;
            if (local_54._4_4_ < uVar18 ||
                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {
              lVar23 = lVar24;
            }
            *param_10 = '\0';
          }
        }
        else if (*param_10 == '\0') {
          local_7c[0] = *(undefined ***)(param_2 + 0x164);
          if (local_7c[0] == (undefined **)0x0) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11c4;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          lVar23 = FUN_000efe40();
          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);
          if (uVar18 < local_54._4_4_ ||
              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11c6;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *param_10 = '\x01';
        }
        local_58 = local_30;
        local_7c[0] = (undefined **)*local_30;
        local_54 = lVar23;
        cVar11 = FUN_001395e0();
        ppuVar15 = appuStack_74[2];
        if (cVar11 == '\0') {
          uVar18 = CONCAT31(local_2c._1_3_,local_32);
          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);
          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;
          uVar9 = CONCAT44(local_2c._4_4_,uVar18);
          uVar8 = CONCAT44(local_2c._4_4_,uVar18);
          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11df;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          if (local_54 != 0) {
            lVar6 = local_54 + lVar6 + -1;
            lVar6 = CONCAT44(-((int)local_54._4_4_ +
                              (uint)((undefined **)local_54 != (undefined **)0x0)) &
                             (uint)((ulonglong)lVar6 >> 0x20),
                             -(int)(undefined **)local_54 & (uint)lVar6);
          }
          if (((char)local_2c != '\0') ||
             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {
            lVar24 = lVar6;
          }
          ppuVar15 = (undefined **)*appuStack_74[2];
          bVar3 = *(byte *)(ppuVar15 + 7);
          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;
          if ((bVar3 & 1) != 0) {
LAB_000f089e:
            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);
            appuStack_74[4] = (undefined **)lVar24;
            appuStack_74[0] = appuStack_74[3] + -0x3ec20;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x142;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *(longlong *)(ppuVar15 + 1) =
               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
          *(byte *)(ppuVar15 + 7) = bVar3 | 1;
          local_2c = uVar8 ^ 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          *(byte *)(ppuVar15 + 7) = bVar3 | 5;
          *(longlong *)(ppuVar15 + 5) = lVar24;
          lVar23 = lVar24;
          local_2c = uVar9 ^ 1;
joined_r0x000f0642:
          if ((bVar3 & 2) == 0) {
            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);
            appuStack_74[4] = (undefined **)lVar23;
            local_7c[0] = ppuVar15;
            local_2c = uVar10;
            (**(code **)(*ppuVar15 + 0x38))();
            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);
            if (((uint)ppuVar15[7] & 2) == 0) {
LAB_000f08bd:
              appuStack_74[0] = appuStack_74[3] + -0x3ec29;
              local_7c[0] = appuStack_74[3] + -0x41c55;
              local_7c[1] = (undefined **)0x163;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
          }
        }
        else {
          local_7c[0] = (undefined **)*appuStack_74[2];
          lVar6 = local_54;
          if (((uint)local_7c[0][7] & 2) == 0) {
            (**(code **)(*local_7c[0] + 0x34))();
            local_7c[0] = (undefined **)*ppuVar15;
            lVar6 = local_54;
          }
          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);
          local_54._0_4_ = (undefined **)lVar6;
          appuStack_74[5] = (undefined **)local_7c[0][4];
          appuStack_74[4] = (undefined **)local_7c[0][3];
          appuStack_74[0] = (undefined **)local_40;
          local_7c[1] = local_44;
          local_7c[0] = local_54._4_4_;
          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],
                                (undefined **)local_54);
          local_54 = lVar6;
          ppuVar15 = appuStack_74[2];
          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);
          if (lVar23 == -1) {
            local_7c[0] = (undefined **)*appuStack_74[2];
            iVar12 = (**(code **)(*local_7c[0] + 0x24))();
            if (iVar12 == 0) {
              appuStack_74[0] = appuStack_74[3] + -0x3ed77;
              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
              local_7c[1] = (undefined **)0x11ee;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
            local_7c[0] = (undefined **)*ppuVar15;
            pppuVar17 = local_7c;
            iVar12 = (**(code **)(*local_7c[0] + 0x24))();
            uVar20 = *(undefined4 *)(iVar12 + 0x20);
            ppuVar15 = appuStack_74[3] + -0x410f3;
            ppuVar16 = appuStack_74[3];
            goto LAB_000f07c4;
          }
          ppuVar16 = (undefined **)*appuStack_74[2];
          bVar3 = *(byte *)(ppuVar16 + 7);
          if ((bVar3 & 1) != 0) goto LAB_000f089e;
          *(longlong *)(ppuVar16 + 1) =
               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
          *(byte *)(ppuVar16 + 7) = bVar3 | 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          ppuVar16[5] = (undefined *)lVar23;
          *(byte *)(ppuVar16 + 7) = bVar3 | 5;
          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);
          if ((bVar3 & 2) == 0) {
            local_7c[0] = ppuVar16;
            (**(code **)(*ppuVar16 + 0x38))();
            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;
            ppuVar16 = (undefined **)*ppuVar15;
            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;
          }
          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];
          lVar6 = lVar23;
          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=
              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=
              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {
            while( true ) {
              puVar4 = *pppuVar17;
              puVar19 = *ppuVar16;
              pppuVar17[-4] = ppuVar16;
              pcVar5 = *(code **)(puVar19 + 0x24);
              pppuVar17[-5] = (undefined **)0xf07e3;
              iVar12 = (*pcVar5)();
              if (iVar12 == 0) break;
              iVar12 = *(int *)*puVar4;
              pppuVar17[-4] = (undefined **)*puVar4;
              pcVar5 = *(code **)(iVar12 + 0x24);
              pppuVar17[-5] = (undefined **)0xf07f6;
              iVar12 = (*pcVar5)();
              pppuVar2 = pppuVar17 + 1;
              uVar20 = *(undefined4 *)(iVar12 + 0x20);
              ppuVar15 = *pppuVar2 + -0x410e2;
              pppuVar17 = pppuVar17 + -4;
              ppuVar16 = *pppuVar2;
LAB_000f07c4:
              *pppuVar17 = ppuVar15;
              ((int *)pppuVar17)[-1] = 0xf07ce;
              uVar14 = gettext();
              ((int *)pppuVar17)[1] = uVar20;
              *pppuVar17 = (undefined **)uVar14;
              ((int *)pppuVar17)[-1] = 0xf07d7;
              FUN_00065480();
            }
            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;
            pppuVar17[-3] = (undefined **)0x11f6;
            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);
                    /* WARNING: Subroutine does not return */
            pppuVar17[-5] = (undefined **)0xf0843;
            FUN_00069d00();
          }
        }
      }
      else {
        local_58 = local_24;
        local_7c[0] = (undefined **)*local_24;
        cVar11 = FUN_001395e0();
        if (cVar11 == '\0') {
          appuStack_74[1] = (undefined **)*appuStack_74[2];
          if (((uint)appuStack_74[1][7] & 1) == 0) {
LAB_000f0977:
            appuStack_74[0] = appuStack_74[3] + -0x3eb59;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0xc5;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          local_54._4_4_ = (undefined **)appuStack_74[1][2];
          local_54._0_4_ = (undefined **)appuStack_74[1][1];
          lVar23 = lVar6 - CONCAT44(local_40,local_44);
          local_2c = lVar23 + CONCAT44(local_38,local_3c);
          ppuVar15 = (undefined **)(local_2c >> 0x20);
          lVar23 = lVar23 + CONCAT44(local_38,local_3c);
          if (local_54._4_4_ < ppuVar15 ||
              (uint)((int)local_54._4_4_ - (int)ppuVar15) <
              (uint)((undefined **)local_54 < (undefined **)local_2c)) {
            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {
              appuStack_74[0] = appuStack_74[3] + -0x3ed77;
              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
              local_7c[1] = (undefined **)0x1215;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
            local_7c[0] = appuStack_74[1];
            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();
            iVar12 = (int)*appuStack_74[2];
            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;
            local_54._0_4_ = *(undefined ***)(iVar12 + 4);
            local_54._4_4_ = *(undefined ***)(iVar12 + 8);
            if (iVar13 == 0) {
              local_7c[0] = appuStack_74[3] + -0x3f2a7;
              uVar14 = gettext();
              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);
              local_7c[0] = local_54._4_4_;
              uVar20 = (undefined *)local_2c;
            }
            else {
              local_20 = *(undefined4 *)(iVar13 + 0x20);
              local_7c[0] = appuStack_74[3] + -0x3f298;
              uVar14 = gettext();
              local_7c[1] = local_54._4_4_;
              local_7c[0] = (undefined **)local_54;
              uVar20 = local_20;
              uVar10 = local_2c;
            }
            FUN_000654b0(uVar14,uVar20,uVar10);
            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);
            appuStack_74[1] = (undefined **)*appuStack_74[2];
          }
          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=
                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==
                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)
                  || ((local_32 ^ 1) == 0)) {
            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);
            if (((local_32 ^ 1) != 0) ||
               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),
               local_33 != '\0')) {
              lVar6 = lVar7 - lVar23;
              lVar24 = lVar7 - lVar23;
            }
          }
          else {
            local_7c[0] = appuStack_74[3] + -0x3f2bf;
            local_7c[0] = (undefined **)gettext();
            FUN_000654e0();
            appuStack_74[1] = (undefined **)*appuStack_74[2];
            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;
            lVar6 = CONCAT44(appuStack_74[1][2] +
                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -
                              local_2c._4_4_) -
                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),
                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);
            lVar24 = lVar6;
          }
          bVar3 = *(byte *)(appuStack_74[1] + 7);
          if ((bVar3 & 4) != 0) {
LAB_000f087f:
            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);
            appuStack_74[4] = (undefined **)lVar24;
            appuStack_74[0] = appuStack_74[3] + -0x3ec24;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x14b;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;
          *(longlong *)(appuStack_74[1] + 5) = lVar24;
          ppuVar15 = appuStack_74[1];
          lVar23 = lVar24;
          uVar10 = local_2c;
          goto joined_r0x000f0642;
        }
        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {
          appuStack_74[0] = appuStack_74[3] + -0x3eb67;
          local_7c[0] = appuStack_74[3] + -0x41c55;
          local_7c[1] = (undefined **)0xe3;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00();
        }
        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);
        lVar23 = *plVar1;
        lVar6 = *plVar1;
      }
      uVar18 = (uint)lVar6;
      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);
      appuStack_74[4] = (undefined **)lVar23;
      local_7c[0] = (undefined **)*local_58;
      cVar11 = FUN_001395e0();
      ppuVar15 = appuStack_74[2];
      if (cVar11 == '\0') {
        local_7c[0] = (undefined **)*appuStack_74[2];
LAB_000f0095:
        if (local_33 == '\0') goto LAB_000f03a0;
LAB_000f00a0:
        lVar23 = local_4c;
        if (local_32 == 0) goto LAB_000f03a0;
      }
      else {
        puVar4 = (undefined4 *)*local_58;
        local_7c[0] = (undefined **)*appuStack_74[2];
        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;
        uVar20 = *puVar4;
        iVar12 = (**(code **)(*local_7c[0] + 0x24))();
        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);
        if (iVar12 != 0) {
          local_7c[0] = (undefined **)*ppuVar15;
          iVar12 = (**(code **)(*local_7c[0] + 0x24))();
          local_7c[0] = *(undefined ***)(iVar12 + 0x20);
        }
        ppuVar15 = appuStack_74[2];
        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;
        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,
                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));
        local_7c[0] = (undefined **)*ppuVar15;
        if (local_33 != '\0') goto LAB_000f00a0;
LAB_000f03a0:
        if (((uint)local_7c[0][7] & 2) == 0) {
LAB_000f0860:
          appuStack_74[0] = appuStack_74[3] + -0x3eb48;
          local_7c[0] = appuStack_74[3] + -0x41c55;
          local_7c[1] = (undefined **)0xcf;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00();
        }
        puVar19 = local_7c[0][3] + uVar18;
        puVar21 = local_7c[0][4] +
                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);
        lVar6 = CONCAT44(puVar21,puVar19);
        lVar23 = local_4c;
        if (local_32 == 0) {
          appuStack_74[4] = (undefined **)puVar19;
          appuStack_74[6] = (undefined **)puVar21;
          lVar6 = CONCAT44(puVar21,puVar19);
        }
      }
      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);
      local_4c._0_4_ = (uint)lVar23;
      iVar12 = (int)((ulonglong)lVar6 >> 0x20);
      uVar18 = (uint)((uint)local_4c < (uint)lVar6);
      bVar22 = SBORROW4(local_4c._4_4_,iVar12);
      iVar12 = local_4c._4_4_ - iVar12;
      local_4c = lVar23;
      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {
        local_4c = lVar6;
      }
      cVar11 = (**(code **)(*local_7c[0] + 0x18))();
      if (cVar11 != '\0') {
        local_7c[0] = (undefined **)*appuStack_74[2];
        local_7c[1] = (undefined **)*param_9;
        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {
          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&
             (local_7c[0][0x18] != (undefined *)0xffffffff)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x104b;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          local_7c[0][0x18] = (undefined *)local_7c[1];
        }
        else {
          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();
        }
        *param_9 = *param_9 + 1;
      }
      appuStack_74[2] = appuStack_74[2] + 1;
    } while ((undefined **)param_4[1] != appuStack_74[2]);
    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
    lVar23 = local_4c;
  }
  *(longlong *)param_7 = lVar23;
  *param_8 = (int)appuStack_74[4];
  param_8[1] = (int)appuStack_74[6];
  return lVar24;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x29f007
SUB ESP,0x5c
MOV EAX,dword ptr [ESP + 0x80]
MOV EDX,dword ptr [ESP + 0x84]
MOV ECX,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0x30],EAX
MOVZX EAX,byte ptr [ESP + 0x78]
MOV dword ptr [ESP + 0x4],EBX
MOV byte ptr [ESP + 0x3b],AL
MOV EAX,dword ptr [ESP + 0x88]
MOV dword ptr [ESP + 0x34],EDX
MOV ESI,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ESP + 0x8c]
MOV dword ptr [ESP + 0x28],ESI
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x2c],EDI
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x8c]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x7c]
MOV EAX,dword ptr [EAX]
CMP EAX,dword ptr [ECX + 0x4]
JZ 0x000f0843
MOV EBP,EAX
LEA EAX,[EBX + 0x378]
MOV dword ptr [ESP + 0x20],ESI
MOV dword ptr [ESP + 0x24],EDI
MOV dword ptr [ESP + 0x48],EAX
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP],EBP
JMP 0x000f0127
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX]
CMP byte ptr [ESP + 0x39],0x0
JZ 0x000f03a0
CMP byte ptr [ESP + 0x3a],0x0
JZ 0x000f03a0
MOV ECX,dword ptr [ESP + 0x20]
MOV EBX,dword ptr [ESP + 0x24]
CMP ECX,ESI
SBB EBX,EDI
JGE 0x000f00c1
MOV dword ptr [ESP + 0x20],ESI
MOV dword ptr [ESP + 0x24],EDI
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x18]
ADD ESP,0x10
TEST AL,AL
JZ 0x000f0113
MOV EAX,dword ptr [ESP]
MOV ECX,dword ptr [ESP + 0x90]
MOV EBX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [ECX]
LEA EBX,[EBX + 0xffd15c30]
MOV ECX,dword ptr [EAX]
MOV ECX,dword ptr [ECX + 0x30]
CMP ECX,EBX
JNZ 0x000f0650
MOV ECX,dword ptr [EAX + 0x60]
CMP EDX,ECX
JZ 0x000f0106
CMP ECX,-0x1
JNZ 0x000f08dc
MOV dword ptr [EAX + 0x60],EDX
MOV EAX,dword ptr [ESP + 0x90]
ADD dword ptr [EAX],0x1
MOV EAX,dword ptr [ESP + 0x7c]
ADD dword ptr [ESP],0x4
MOV EDX,dword ptr [ESP]
CMP dword ptr [EAX + 0x4],EDX
JZ 0x000f0750
MOV EBX,dword ptr [ESP]
SUB ESP,0x8
MOV EAX,dword ptr [EBX]
MOV EDX,dword ptr [EAX]
PUSH 0x8
PUSH EAX
CALL dword ptr [EDX + 0x1c]
MOV byte ptr [ESP + 0x4a],AL
MOV EAX,dword ptr [EBX]
ADD ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH 0x0
PUSH 0x400
PUSH EAX
CALL dword ptr [EDX + 0x20]
MOV byte ptr [ESP + 0x49],AL
ADD ESP,0x10
CMP byte ptr [ESP + 0x3b],0x0
JZ 0x000f0180
MOV EAX,dword ptr [EBX]
MOVZX EDX,byte ptr [EAX + 0x1c]
MOV ECX,EDX
AND ECX,0xfffffffa
MOV byte ptr [EAX + 0x1c],CL
AND ECX,0x8
JNZ 0x000f0174
AND EDX,0xfffffff8
MOV byte ptr [EAX + 0x1c],DL
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x3c]
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0x1c],0x1
JNZ 0x000f0520
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0xc]
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x94]
CMP byte ptr [ESP + 0x39],0x0
JZ 0x000f03d8
CMP byte ptr [EAX],0x0
JNZ 0x000f01fe
MOV EAX,dword ptr [ESP + 0x74]
MOV EAX,dword ptr [EAX + 0x164]
TEST EAX,EAX
JZ 0x000f0939
SUB ESP,0xc
PUSH EAX
CALL 0x000efe40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EBX,dword ptr [ESP + 0x1c]
MOV EBP,EDX
CMP EAX,ECX
SBB EBP,EBX
JC 0x000f091a
MOV EBX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
MOV byte ptr [EBX],0x1
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x20],EAX
PUSH dword ptr [EAX]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x001395e0
ADD ESP,0x10
TEST AL,AL
JNZ 0x000f0420
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x10]
MOVZX ECX,byte ptr [ESP + 0x3a]
XOR EDX,ESI
XOR EAX,EDI
XOR ECX,0x1
OR EDX,EAX
MOV byte ptr [ESP + 0x40],CL
JZ 0x000f0243
TEST CL,CL
JNZ 0x000f08fb
MOV EBX,dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x18]
MOV EDX,EBX
OR EDX,ECX
JZ 0x000f0270
MOV EAX,ESI
MOV EDX,EDI
ADD EAX,-0x1
ADC EDX,-0x1
ADD EAX,ECX
ADC EDX,EBX
NEG ECX
ADC EBX,0x0
MOV EBP,ECX
NEG EBX
AND EBP,EAX
AND EBX,EDX
MOV ESI,EBP
MOV EDI,EBX
CMP byte ptr [ESP + 0x40],0x0
JNZ 0x000f0560
CMP byte ptr [ESP + 0x39],0x0
JNZ 0x000f0560
MOV EAX,dword ptr [ESP]
MOV EDX,EDI
MOV EBX,dword ptr [EAX]
MOV EAX,ESI
SUB EAX,dword ptr [ESP + 0x28]
SBB EDX,dword ptr [ESP + 0x2c]
ADD EAX,dword ptr [ESP + 0x30]
MOVZX ECX,byte ptr [EBX + 0x1c]
ADC EDX,dword ptr [ESP + 0x34]
TEST CL,0x1
JNZ 0x000f089e
MOV dword ptr [EBX + 0x4],EAX
MOV EAX,ECX
OR EAX,0x1
MOV dword ptr [EBX + 0x8],EDX
MOV byte ptr [EBX + 0x1c],AL
TEST AL,0x4
JNZ 0x000f087f
MOV EAX,dword ptr [ESP + 0x8]
OR ECX,0x5
MOV byte ptr [EBX + 0x1c],CL
AND ECX,0x2
MOV dword ptr [EBX + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBX + 0x18],EAX
JNZ 0x000f02f1
SUB ESP,0xc
MOV EAX,dword ptr [EBX]
PUSH EBX
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [EBX + 0x1c],0x2
JZ 0x000f08bd
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x20]
PUSH dword ptr [EAX]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x001395e0
ADD ESP,0x10
TEST AL,AL
JZ 0x000f0090
MOV EAX,dword ptr [ESP + 0x14]
MOV EBP,dword ptr [ESP]
MOV EDX,dword ptr [EAX]
MOV EAX,dword ptr [EBP]
MOV ECX,dword ptr [EDX + 0x8]
TEST ECX,ECX
JZ 0x000f0095
TEST byte ptr [EDX + 0x14],0x10
JZ 0x000f0095
SUB ESP,0xc
MOV EBX,dword ptr [EDX]
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x24]
MOV ECX,dword ptr [ESP + 0x14]
ADD ESP,0x10
LEA EDX,[ECX + 0xffefb59b]
TEST EAX,EAX
JZ 0x000f035d
MOV EAX,dword ptr [EBP]
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x24]
MOV EDX,dword ptr [EAX + 0x20]
ADD ESP,0x10
MOV EBP,dword ptr [ESP]
MOV EAX,dword ptr [EBP]
TEST byte ptr [EAX + 0x1c],0x2
JZ 0x000f0860
SUB ESP,0xc
PUSH EDX
PUSH dword ptr [EAX + 0xc]
PUSH ESI
MOV ECX,dword ptr [ESP + 0x1c]
LEA EAX,[ECX + 0xfff035e0]
PUSH EAX
PUSH EBX
MOV EBX,ECX
CALL 0x000653f0
ADD ESP,0x20
MOV EAX,dword ptr [EBP]
CMP byte ptr [ESP + 0x39],0x0
JNZ 0x000f00a0
LEA ESI,[ESI]
TEST byte ptr [EAX + 0x1c],0x2
JZ 0x000f0860
MOVZX ECX,byte ptr [ESP + 0x3a]
MOV EBX,dword ptr [ESP + 0x8]
ADD ESI,dword ptr [EAX + 0xc]
ADC EDI,dword ptr [EAX + 0x10]
TEST CL,CL
CMOVZ EBX,ESI
MOV dword ptr [ESP + 0x8],EBX
MOV EBX,dword ptr [ESP + 0x10]
CMOVZ EBX,EDI
MOV dword ptr [ESP + 0x10],EBX
JMP 0x000f00ab
CMP byte ptr [EAX],0x0
JZ 0x000f01fe
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x80]
PUSH dword ptr [EAX + 0x164]
CALL 0x000efe40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EBX,dword ptr [ESP + 0x1c]
CMP ECX,EAX
SBB EBX,EDX
JNC 0x000f040f
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
MOV EAX,dword ptr [ESP + 0x94]
MOV byte ptr [EAX],0x0
JMP 0x000f01fe
MOV EDI,dword ptr [ESP]
MOV EAX,dword ptr [EDI]
TEST byte ptr [EAX + 0x1c],0x2
JNZ 0x000f0439
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x34]
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0xc]
SUB ESP,0x4
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x10],EDX
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x28]
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x90]
ADD EAX,0x248
PUSH EAX
MOV EBX,dword ptr [ESP + 0x24]
CALL 0x000965d0
ADD ESP,0x20
MOV EBP,dword ptr [ESP]
MOV ESI,EAX
MOV EAX,EDX
MOV EDI,EDX
AND EAX,ESI
CMP EAX,-0x1
JZ 0x000f0798
MOV EBX,dword ptr [EBP]
MOV EAX,ESI
SUB EAX,dword ptr [ESP + 0x28]
SBB EDX,dword ptr [ESP + 0x2c]
ADD EAX,dword ptr [ESP + 0x30]
MOVZX ECX,byte ptr [EBX + 0x1c]
ADC EDX,dword ptr [ESP + 0x34]
TEST CL,0x1
JNZ 0x000f089e
MOV dword ptr [EBX + 0x4],EAX
MOV EAX,ECX
OR EAX,0x1
MOV dword ptr [EBX + 0x8],EDX
MOV byte ptr [EBX + 0x1c],AL
TEST AL,0x4
JNZ 0x000f087f
OR ECX,0x5
MOV dword ptr [EBX + 0x14],ESI
MOV byte ptr [EBX + 0x1c],CL
AND ECX,0x2
MOV dword ptr [EBX + 0x18],EDI
JNZ 0x000f04f5
SUB ESP,0xc
MOV EAX,dword ptr [EBX]
PUSH EBX
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [EBX + 0x1c],0x2
JZ 0x000f08bd
MOV EBX,dword ptr [EBP]
TEST byte ptr [EBX + 0x1c],0x2
JZ 0x000f0860
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x8]
CMP EAX,dword ptr [EBX + 0xc]
MOV EAX,EDX
SBB EAX,dword ptr [EBX + 0x10]
JL 0x000f07d7
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0x10],EDI
JMP 0x000f02f1
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x20],EAX
PUSH dword ptr [EAX]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x001395e0
ADD ESP,0x10
TEST AL,AL
MOV EAX,dword ptr [ESP]
JZ 0x000f0570
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0x1c],0x4
JZ 0x000f0958
MOV ESI,dword ptr [EAX + 0x14]
MOV EDI,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0x10],EDI
JMP 0x000f02f1
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0x10],EDI
JMP 0x000f0286
MOV EBX,dword ptr [EAX]
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x000f0977
MOV EDX,dword ptr [EBX + 0x8]
MOV EAX,dword ptr [EBX + 0x4]
MOV dword ptr [ESP + 0x1c],EDX
MOV ECX,dword ptr [ESP + 0x1c]
MOV EDX,EDI
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,ESI
SUB EAX,dword ptr [ESP + 0x28]
SBB EDX,dword ptr [ESP + 0x2c]
ADD EAX,dword ptr [ESP + 0x30]
ADC EDX,dword ptr [ESP + 0x34]
CMP dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x40],EAX
SBB ECX,EDX
MOV dword ptr [ESP + 0x44],EDX
JC 0x000f0660
MOVZX EAX,byte ptr [ESP + 0x3a]
MOV EDX,dword ptr [ESP + 0x10]
XOR EAX,0x1
CMP dword ptr [ESP + 0x8],ESI
SBB EDX,EDI
JGE 0x000f06f0
TEST AL,AL
JZ 0x000f06f0
SUB ESP,0xc
MOV EBP,dword ptr [ESP + 0x10]
LEA EAX,[EBP + 0xfff03504]
MOV EBX,EBP
PUSH EAX
CALL 0x000293b0
MOV dword ptr [ESP],EAX
CALL 0x000654e0
MOV EAX,dword ptr [ESP + 0x10]
ADD ESP,0x10
MOV EBX,dword ptr [EAX]
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x000f0977
ADD ESI,dword ptr [EBX + 0x4]
ADC EDI,dword ptr [EBX + 0x8]
SUB ESI,dword ptr [ESP + 0x40]
SBB EDI,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0x10],EDI
LEA ESI,[ESI]
MOVZX EAX,byte ptr [EBX + 0x1c]
TEST AL,0x4
JNZ 0x000f087f
MOV ECX,dword ptr [ESP + 0x8]
OR EAX,0x4
MOV byte ptr [EBX + 0x1c],AL
MOV dword ptr [EBX + 0x14],ECX
MOV ECX,dword ptr [ESP + 0x10]
MOV dword ptr [EBX + 0x18],ECX
TEST AL,0x2
JNZ 0x000f02f1
JMP 0x000f02db
SUB ESP,0x8
PUSH EDX
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x000f0109
MOV EAX,dword ptr [ESP + 0x74]
MOV EAX,dword ptr [EAX + 0x4]
CMP byte ptr [EAX + 0xac],0x0
JZ 0x000f0996
MOV EAX,dword ptr [EBX]
SUB ESP,0xc
PUSH EBX
CALL dword ptr [EAX + 0x24]
MOV ECX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ECX]
ADD ESP,0x10
TEST byte ptr [EDX + 0x1c],0x1
JZ 0x000f0977
MOV ECX,dword ptr [EDX + 0x4]
MOV EBX,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [ESP + 0x1c],EBX
TEST EAX,EAX
JZ 0x000f0720
MOV EDX,dword ptr [EAX + 0x20]
SUB ESP,0xc
MOV dword ptr [ESP + 0x58],EDX
MOV EBP,dword ptr [ESP + 0x10]
LEA EAX,[EBP + 0xfff035a0]
MOV EBX,EBP
PUSH EAX
CALL 0x000293b0
POP EBP
POP EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x54]
PUSH dword ptr [ESP + 0x54]
MOV EDX,dword ptr [ESP + 0x64]
PUSH EDX
PUSH EAX
CALL 0x000654b0
MOV EAX,dword ptr [ESP + 0x20]
ADD ESP,0x20
MOV EBX,dword ptr [EAX]
JMP 0x000f0620
ADD ESI,dword ptr [ESP + 0x18]
ADC EDI,dword ptr [ESP + 0x1c]
SUB ESI,dword ptr [ESP + 0x40]
SBB EDI,dword ptr [ESP + 0x44]
MOV EDX,ESI
MOV ECX,EDI
TEST AL,AL
JNZ 0x000f0713
CMP byte ptr [ESP + 0x39],0x0
JZ 0x000f0620
MOV dword ptr [ESP + 0x8],EDX
MOV dword ptr [ESP + 0x10],ECX
JMP 0x000f0620
SUB ESP,0xc
MOV EBP,dword ptr [ESP + 0x10]
LEA EAX,[EBP + 0xfff03564]
MOV EBX,EBP
PUSH EAX
CALL 0x000293b0
POP ECX
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x58]
JMP 0x000f06d5
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
SUB EAX,dword ptr [ESP + 0x28]
SBB EDX,dword ptr [ESP + 0x2c]
ADD EAX,dword ptr [ESP + 0x30]
ADC EDX,dword ptr [ESP + 0x34]
MOV ESI,dword ptr [ESP + 0x88]
MOV EDI,dword ptr [ESP + 0x20]
MOV EBP,dword ptr [ESP + 0x24]
MOV dword ptr [ESI],EDI
MOV EDI,dword ptr [ESP + 0x8c]
MOV dword ptr [ESI + 0x4],EBP
MOV ESI,dword ptr [ESP + 0x8]
MOV dword ptr [EDI],ESI
MOV ESI,dword ptr [ESP + 0x10]
MOV dword ptr [EDI + 0x4],ESI
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP]
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x24]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000f0805
MOV EAX,dword ptr [EBP]
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x24]
MOV EDI,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EDI + 0xffefbc34]
MOV EBX,EDI
MOV dword ptr [ESP],EAX
CALL 0x000293b0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x00065480
MOV EBP,dword ptr [ESP]
SUB ESP,0xc
MOV EAX,dword ptr [EBX]
PUSH EBX
CALL dword ptr [EAX + 0x24]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000f0824
MOV EAX,dword ptr [EBP]
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x24]
MOV EDI,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EDI + 0xffefbc78]
JMP 0x000f07c4
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x11ee
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x11f6
PUSH EAX
CALL 0x00069d00
MOV EDI,dword ptr [ESP + 0x28]
MOV EBP,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [ESP + 0x30]
MOV EDX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x20],EDI
MOV dword ptr [ESP + 0x24],EBP
JMP 0x000f0768
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff052e0]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xcf
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04f70]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x14b
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04f80]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x142
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04f5c]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x163
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a10]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x104b
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x11df
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x11c6
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x11c4
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff05264]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xe3
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff0529c]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xc5
PUSH EAX
CALL 0x00069d00
PUSH EBX
MOV EBX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff04a24]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x1215
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nlonglong FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)\n\n{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}\n\n" comment comment (function_definition "longlong FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)\n\n{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" type_identifier (function_declarator "FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" identifier (parameter_list "(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "char param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int *param_8" primitive_type (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "int *param_9" primitive_type (pointer_declarator "*param_9" * identifier)) , (parameter_declaration "char *param_10" primitive_type (pointer_declarator "*param_10" * identifier)) ))) (compound_statement "{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" { (declaration "longlong *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "undefined ***pppuVar2;" type_identifier (pointer_declarator "***pppuVar2" * (pointer_declarator "**pppuVar2" * (pointer_declarator "*pppuVar2" * identifier))) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "longlong lVar7;" type_identifier identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "ulonglong uVar9;" type_identifier identifier ;) (declaration "ulonglong uVar10;" type_identifier identifier ;) (declaration "char cVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "undefined **ppuVar16;" type_identifier (pointer_declarator "**ppuVar16" * (pointer_declarator "*ppuVar16" * identifier)) ;) (declaration "undefined ***pppuVar17;" type_identifier (pointer_declarator "***pppuVar17" * (pointer_declarator "**pppuVar17" * (pointer_declarator "*pppuVar17" * identifier))) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" type_identifier identifier ;) (declaration "undefined **local_7c [2];" type_identifier (pointer_declarator "**local_7c [2]" * (pointer_declarator "*local_7c [2]" * (array_declarator "local_7c [2]" identifier [ number_literal ]))) ;) (declaration "undefined **appuStack_74 [7];" type_identifier (pointer_declarator "**appuStack_74 [7]" * (pointer_declarator "*appuStack_74 [7]" * (array_declarator "appuStack_74 [7]" identifier [ number_literal ]))) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_54;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined **local_44;" type_identifier (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier)) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "char local_33;" primitive_type identifier ;) (declaration "byte local_32;" type_identifier identifier ;) (declaration "char local_31;" primitive_type identifier ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined8 local_2c;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "lVar24 = CONCAT44(param_6,param_5);" (assignment_expression "lVar24 = CONCAT44(param_6,param_5)" identifier = (call_expression "CONCAT44(param_6,param_5)" identifier (argument_list "(param_6,param_5)" ( identifier , identifier )))) ;) (expression_statement "uStack_14 = 0xefff9;" (assignment_expression "uStack_14 = 0xefff9" identifier = number_literal) ;) (expression_statement "appuStack_74[3] = &__DT_PLTGOT;" (assignment_expression "appuStack_74[3] = &__DT_PLTGOT" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "pppuVar17 = appuStack_74 + 2;" (assignment_expression "pppuVar17 = appuStack_74 + 2" identifier = (binary_expression "appuStack_74 + 2" identifier + number_literal)) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "local_31 = param_3;" (assignment_expression "local_31 = param_3" identifier = identifier) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "local_44 = (undefined **)*param_7;" (assignment_expression "local_44 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "local_40 = param_7[1];" (assignment_expression "local_40 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "lVar23 = *(longlong *)param_7;" (assignment_expression "lVar23 = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_4c = *(longlong *)param_7;" (assignment_expression "local_4c = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "lVar6 = *(longlong *)param_7;" (assignment_expression "lVar6 = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "appuStack_74[4] = (undefined **)*param_8;" (assignment_expression "appuStack_74[4] = (undefined **)*param_8" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_8" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "appuStack_74[6] = (undefined **)param_8[1];" (assignment_expression "appuStack_74[6] = (undefined **)param_8[1]" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)param_8[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_8[1]" identifier [ number_literal ]))) ;) (expression_statement "appuStack_74[2] = (undefined **)*param_4;" (assignment_expression "appuStack_74[2] = (undefined **)*param_4" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" if (parenthesized_expression "(appuStack_74[2] != (undefined **)param_4[1])" ( (binary_expression "appuStack_74[2] != (undefined **)param_4[1]" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) != (cast_expression "(undefined **)param_4[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" { (expression_statement "local_30 = &DAT_0038f378;" (assignment_expression "local_30 = &DAT_0038f378" identifier = (pointer_expression "&DAT_0038f378" & identifier)) ;) (expression_statement "local_24 = local_30;" (assignment_expression "local_24 = local_30" identifier = identifier) ;) (do_statement "do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);" do (compound_statement "{\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    }" { (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar19 = (undefined *)lVar6;" (assignment_expression "puVar19 = (undefined *)lVar6" identifier = (cast_expression "(undefined *)lVar6" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "local_7c[1] = (undefined **)0x8;" (assignment_expression "local_7c[1] = (undefined **)0x8" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x8" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_32 = (**(code **)(*local_7c[0] + 0x1c))();" (assignment_expression "local_32 = (**(code **)(*local_7c[0] + 0x1c))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x1c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x1c))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x1c)" * (pointer_expression "*(code **)(*local_7c[0] + 0x1c)" * (cast_expression "(code **)(*local_7c[0] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x1c)" ( (binary_expression "*local_7c[0] + 0x1c" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "appuStack_74[0] = (undefined **)0x0;" (assignment_expression "appuStack_74[0] = (undefined **)0x0" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x400;" (assignment_expression "local_7c[1] = (undefined **)0x400" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x400" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_33 = (**(code **)(*local_7c[0] + 0x20))();" (assignment_expression "local_33 = (**(code **)(*local_7c[0] + 0x20))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x20))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x20))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x20)" * (pointer_expression "*(code **)(*local_7c[0] + 0x20)" * (cast_expression "(code **)(*local_7c[0] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x20)" ( (binary_expression "*local_7c[0] + 0x20" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" if (parenthesized_expression "(local_31 != '\0')" ( (binary_expression "local_31 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" { (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "bVar3 = *(byte *)(local_7c[0] + 7);" (assignment_expression "bVar3 = *(byte *)(local_7c[0] + 7)" identifier = (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa" (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" if (parenthesized_expression "((bVar3 & 8) == 0)" ( (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" { (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8" (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 & 0xf8" identifier & number_literal)) ;) })) (expression_statement "(**(code **)(*local_7c[0] + 0x3c))();" (call_expression "(**(code **)(*local_7c[0] + 0x3c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x3c))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x3c)" * (pointer_expression "*(code **)(*local_7c[0] + 0x3c)" * (cast_expression "(code **)(*local_7c[0] + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x3c)" ( (binary_expression "*local_7c[0] + 0x3c" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" if (parenthesized_expression "(((uint)local_7c[0][7] & 1) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 1) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 1)" ( (binary_expression "(uint)local_7c[0][7] & 1" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }" { (expression_statement "lVar23 = (**(code **)(*local_7c[0] + 0xc))();" (assignment_expression "lVar23 = (**(code **)(*local_7c[0] + 0xc))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0xc))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0xc))" ( (pointer_expression "**(code **)(*local_7c[0] + 0xc)" * (pointer_expression "*(code **)(*local_7c[0] + 0xc)" * (cast_expression "(code **)(*local_7c[0] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0xc)" ( (binary_expression "*local_7c[0] + 0xc" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" identifier = identifier) ;) (if_statement "if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" if (parenthesized_expression "(local_33 == '\0')" ( (binary_expression "local_33 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }" { (if_statement "if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" if (parenthesized_expression "(*param_10 != '\0')" ( (binary_expression "*param_10 != '\0'" (pointer_expression "*param_10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" { (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(param_2 + 0x164)" * (cast_expression "(undefined ***)(param_2 + 0x164)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 0x164)" ( (binary_expression "param_2 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "lVar24 = FUN_000efe40();" (assignment_expression "lVar24 = FUN_000efe40()" identifier = (call_expression "FUN_000efe40()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar18 = (uint)((ulonglong)lVar24 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar24 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar24 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar23 = local_54;" (assignment_expression "lVar23 = local_54" identifier = identifier) ;) (if_statement "if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }" if (parenthesized_expression "(local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24))" ( (binary_expression "local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "local_54._4_4_ < uVar18" (field_expression "local_54._4_4_" identifier . field_identifier) < identifier) || (binary_expression "(int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "(int)local_54._4_4_ - uVar18" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) - identifier) < (call_expression "(uint)((undefined **)local_54 < (uint)lVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 < (uint)lVar24)" ( (binary_expression "(undefined **)local_54 < (uint)lVar24" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < (cast_expression "(uint)lVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n              lVar23 = lVar24;\n            }" { (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) })) (expression_statement "*param_10 = '\0';" (assignment_expression "*param_10 = '\0'" (pointer_expression "*param_10" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) }) (else_clause "else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" else (if_statement "if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" if (parenthesized_expression "(*param_10 == '\0')" ( (binary_expression "*param_10 == '\0'" (pointer_expression "*param_10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" { (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(param_2 + 0x164)" * (cast_expression "(undefined ***)(param_2 + 0x164)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 0x164)" ( (binary_expression "param_2 + 0x164" identifier + number_literal) ))))) ;) (if_statement "if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c[0] == (undefined **)0x0)" ( (binary_expression "local_7c[0] == (undefined **)0x0" (subscript_expression "local_7c[0]" identifier [ number_literal ]) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11c4;" (assignment_expression "local_7c[1] = (undefined **)0x11c4" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11c4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar23 = FUN_000efe40();" (assignment_expression "lVar23 = FUN_000efe40()" identifier = (call_expression "FUN_000efe40()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar18 = (uint)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar23 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "(uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54))" ( (binary_expression "uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 < local_54._4_4_" identifier < (field_expression "local_54._4_4_" identifier . field_identifier)) || (binary_expression "uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 - (int)local_54._4_4_" identifier - (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier))) < (call_expression "(uint)((uint)lVar23 < (undefined **)local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar23 < (undefined **)local_54)" ( (binary_expression "(uint)lVar23 < (undefined **)local_54" (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11c6;" (assignment_expression "local_7c[1] = (undefined **)0x11c6" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11c6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*param_10 = '\x01';" (assignment_expression "*param_10 = '\x01'" (pointer_expression "*param_10" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) })))) (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" identifier = identifier) ;) (expression_statement "local_7c[0] = (undefined **)*local_30;" (assignment_expression "local_7c[0] = (undefined **)*local_30" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_30" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_30" * identifier))) ;) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" identifier = identifier) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }\n        }" { (expression_statement "uVar18 = CONCAT31(local_2c._1_3_,local_32);" (assignment_expression "uVar18 = CONCAT31(local_2c._1_3_,local_32)" identifier = (call_expression "CONCAT31(local_2c._1_3_,local_32)" identifier (argument_list "(local_2c._1_3_,local_32)" ( (field_expression "local_2c._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_2c._0_4_ = (undefined *)(uVar18 ^ 1);" (assignment_expression "local_2c._0_4_ = (undefined *)(uVar18 ^ 1)" (field_expression "local_2c._0_4_" identifier . field_identifier) = (cast_expression "(undefined *)(uVar18 ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 ^ 1)" ( (binary_expression "uVar18 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1" identifier = (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier ))) ^ number_literal)) ;) (expression_statement "uVar9 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar9 = CONCAT44(local_2c._4_4_,uVar18)" identifier = (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "uVar8 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar8 = CONCAT44(local_2c._4_4_,uVar18)" identifier = (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1))" ( (binary_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)" (parenthesized_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4]))" ( (binary_expression "lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])" identifier != (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) )) && (parenthesized_expression "(local_32 != 1)" ( (binary_expression "local_32 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11df;" (assignment_expression "local_7c[1] = (undefined **)0x11df" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11df" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" if (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" { (expression_statement "lVar6 = local_54 + lVar6 + -1;" (assignment_expression "lVar6 = local_54 + lVar6 + -1" identifier = (binary_expression "local_54 + lVar6 + -1" (binary_expression "local_54 + lVar6" identifier + identifier) + number_literal)) ;) (expression_statement "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);" (assignment_expression "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" identifier = (call_expression "CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" identifier (argument_list "(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" ( (binary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20)" (unary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" - (parenthesized_expression "((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" ( (binary_expression "(int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) + (call_expression "(uint)((undefined **)local_54 != (undefined **)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 != (undefined **)0x0)" ( (binary_expression "(undefined **)local_54 != (undefined **)0x0" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )))) ))) & (call_expression "(uint)((ulonglong)lVar6 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "-(int)(undefined **)local_54 & (uint)lVar6" (unary_expression "-(int)(undefined **)local_54" - (cast_expression "(int)(undefined **)local_54" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) & (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (if_statement "if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'))" ( (binary_expression "((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" (parenthesized_expression "((char)local_2c != '\0')" ( (binary_expression "(char)local_2c != '\0'" (cast_expression "(char)local_2c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" ( (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) , (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n            lVar24 = lVar6;\n          }" { (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" identifier = identifier) ;) })) (expression_statement "ppuVar15 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar15 = (undefined **)*appuStack_74[2]" identifier = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "bVar3 = *(byte *)(ppuVar15 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar15 + 7)" identifier = (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) ))))) ;) (expression_statement "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1" identifier = (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier ))) ^ number_literal)) ;) (if_statement "if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" statement_identifier : (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec20;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x142;" (assignment_expression "local_7c[1] = (undefined **)0x142" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x142" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar15 + 1)" * (cast_expression "(longlong *)(ppuVar15 + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 1)" ( (binary_expression "ppuVar15 + 1" identifier + number_literal) )))) = (binary_expression "(lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar6 - CONCAT44(local_40,local_44))" ( (binary_expression "lVar6 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (expression_statement "local_2c = uVar8 ^ 1;" (assignment_expression "local_2c = uVar8 ^ 1" identifier = (binary_expression "uVar8 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "*(longlong *)(ppuVar15 + 5) = lVar24;" (assignment_expression "*(longlong *)(ppuVar15 + 5) = lVar24" (pointer_expression "*(longlong *)(ppuVar15 + 5)" * (cast_expression "(longlong *)(ppuVar15 + 5)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 5)" ( (binary_expression "ppuVar15 + 5" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) (expression_statement "local_2c = uVar9 ^ 1;" (assignment_expression "local_2c = uVar9 ^ 1" identifier = (binary_expression "uVar9 ^ 1" identifier ^ number_literal)) ;) (labeled_statement "joined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }" statement_identifier : (if_statement "if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n          }" { (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar23" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[0] = ppuVar15;" (assignment_expression "local_7c[0] = ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_2c = uVar10;" (assignment_expression "local_2c = uVar10" identifier = identifier) ;) (expression_statement "(**(code **)(*ppuVar15 + 0x38))();" (call_expression "(**(code **)(*ppuVar15 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar15 + 0x38))" ( (pointer_expression "**(code **)(*ppuVar15 + 0x38)" * (pointer_expression "*(code **)(*ppuVar15 + 0x38)" * (cast_expression "(code **)(*ppuVar15 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar15 + 0x38)" ( (binary_expression "*ppuVar15 + 0x38" (pointer_expression "*ppuVar15" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (if_statement "if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" if (parenthesized_expression "(((uint)ppuVar15[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar15[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar15[7] & 2)" ( (binary_expression "(uint)ppuVar15[7] & 2" (cast_expression "(uint)ppuVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar15[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" { (labeled_statement "LAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec29;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x163;" (assignment_expression "local_7c[1] = (undefined **)0x163" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x163" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" else (compound_statement "{\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" identifier = identifier) ;) (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" if (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" ( (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" { (expression_statement "(**(code **)(*local_7c[0] + 0x34))();" (call_expression "(**(code **)(*local_7c[0] + 0x34))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x34))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x34)" * (pointer_expression "*(code **)(*local_7c[0] + 0x34)" * (cast_expression "(code **)(*local_7c[0] + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x34)" ( (binary_expression "*local_7c[0] + 0x34" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" identifier = identifier) ;) })) (expression_statement "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);" (assignment_expression "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20)" (field_expression "local_54._4_4_" identifier . field_identifier) = (cast_expression "(undefined **)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_54._0_4_ = (undefined **)lVar6;" (assignment_expression "local_54._0_4_ = (undefined **)lVar6" (field_expression "local_54._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)lVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[5] = (undefined **)local_7c[0][4];" (assignment_expression "appuStack_74[5] = (undefined **)local_7c[0][4]" (subscript_expression "appuStack_74[5]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_7c[0][4]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "appuStack_74[4] = (undefined **)local_7c[0][3];" (assignment_expression "appuStack_74[4] = (undefined **)local_7c[0][3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_7c[0][3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "appuStack_74[0] = (undefined **)local_40;" (assignment_expression "appuStack_74[0] = (undefined **)local_40" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_40" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[1] = local_44;" (assignment_expression "local_7c[1] = local_44" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);" (assignment_expression "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" identifier = (call_expression "FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" identifier (argument_list "(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" ( (binary_expression "param_2 + 0x248" identifier + number_literal) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[5]" identifier [ number_literal ]) , (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "local_54 = lVar6;" (assignment_expression "local_54 = lVar6" identifier = identifier) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (if_statement "if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" if (parenthesized_expression "(lVar23 == -1)" ( (binary_expression "lVar23 == -1" identifier == number_literal) )) (compound_statement "{\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11ee;" (assignment_expression "local_7c[1] = (undefined **)0x11ee" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11ee" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "pppuVar17 = local_7c;" (assignment_expression "pppuVar17 = local_7c" identifier = identifier) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" * (cast_expression "(undefined4 *)(iVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar15 = appuStack_74[3] + -0x410f3;" (assignment_expression "ppuVar15 = appuStack_74[3] + -0x410f3" identifier = (binary_expression "appuStack_74[3] + -0x410f3" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppuVar16 = appuStack_74[3];" (assignment_expression "ppuVar16 = appuStack_74[3]" identifier = (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000f07c4;" goto statement_identifier ;) })) (expression_statement "ppuVar16 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar16 = (undefined **)*appuStack_74[2]" identifier = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "bVar3 = *(byte *)(ppuVar16 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar16 + 7)" identifier = (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 1) != 0) goto LAB_000f089e;" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f089e;" goto statement_identifier ;)) (expression_statement "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar16 + 1)" * (cast_expression "(longlong *)(ppuVar16 + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 1)" ( (binary_expression "ppuVar16 + 1" identifier + number_literal) )))) = (binary_expression "(lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar23 - CONCAT44(local_40,local_44))" ( (binary_expression "lVar23 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "ppuVar16[5] = (undefined *)lVar23;" (assignment_expression "ppuVar16[5] = (undefined *)lVar23" (subscript_expression "ppuVar16[5]" identifier [ number_literal ]) = (cast_expression "(undefined *)lVar23" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);" (assignment_expression "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20)" (subscript_expression "ppuVar16[6]" identifier [ number_literal ]) = (cast_expression "(undefined *)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" { (expression_statement "local_7c[0] = ppuVar16;" (assignment_expression "local_7c[0] = ppuVar16" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(*ppuVar16 + 0x38))();" (call_expression "(**(code **)(*ppuVar16 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar16 + 0x38))" ( (pointer_expression "**(code **)(*ppuVar16 + 0x38)" * (pointer_expression "*(code **)(*ppuVar16 + 0x38)" * (cast_expression "(code **)(*ppuVar16 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar16 + 0x38)" ( (binary_expression "*ppuVar16 + 0x38" (pointer_expression "*ppuVar16" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;" if (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" ( (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f08bd;" goto statement_identifier ;)) (expression_statement "ppuVar16 = (undefined **)*ppuVar15;" (assignment_expression "ppuVar16 = (undefined **)*ppuVar15" identifier = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" ( (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) })) (expression_statement "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];" (assignment_expression "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4]" identifier = (binary_expression "(int)appuStack_74[5] - (int)ppuVar16[4]" (cast_expression "(int)appuStack_74[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[5]" identifier [ number_literal ])) - (cast_expression "(int)ppuVar16[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar16[4]" identifier [ number_literal ])))) ;) (expression_statement "lVar6 = lVar23;" (assignment_expression "lVar6 = lVar23" identifier = identifier) ;) (if_statement "if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0)" ( (binary_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3])))" ( (binary_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" (call_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4])" identifier (argument_list "((int)appuStack_74[5],(int)ppuVar16[4])" ( (cast_expression "(int)appuStack_74[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[5]" identifier [ number_literal ])) , (cast_expression "(int)ppuVar16[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar16[4]" identifier [ number_literal ])) ))) != (call_expression "SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" identifier (argument_list "(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" ( identifier , (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < ppuVar16[3])" ( (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < (subscript_expression "ppuVar16[3]" identifier [ number_literal ])) ))) )))) )) != (binary_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (cast_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" ( (binary_expression "iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])" identifier - (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < ppuVar16[3])" ( (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < (subscript_expression "ppuVar16[3]" identifier [ number_literal ])) )))) ))) < number_literal)) )) (compound_statement "{\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    /* WARNING: Subroutine does not return */\n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" { (while_statement "while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" { (expression_statement "puVar4 = *pppuVar17;" (assignment_expression "puVar4 = *pppuVar17" identifier = (pointer_expression "*pppuVar17" * identifier)) ;) (expression_statement "puVar19 = *ppuVar16;" (assignment_expression "puVar19 = *ppuVar16" identifier = (pointer_expression "*ppuVar16" * identifier)) ;) (expression_statement "pppuVar17[-4] = ppuVar16;" (assignment_expression "pppuVar17[-4] = ppuVar16" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = *(code **)(puVar19 + 0x24);" (assignment_expression "pcVar5 = *(code **)(puVar19 + 0x24)" identifier = (pointer_expression "*(code **)(puVar19 + 0x24)" * (cast_expression "(code **)(puVar19 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x24)" ( (binary_expression "puVar19 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppuVar17[-5] = (undefined **)0xf07e3;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07e3" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf07e3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = *(int *)*puVar4;" (assignment_expression "iVar12 = *(int *)*puVar4" identifier = (pointer_expression "*(int *)*puVar4" * (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier)))) ;) (expression_statement "pppuVar17[-4] = (undefined **)*puVar4;" (assignment_expression "pppuVar17[-4] = (undefined **)*puVar4" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = (cast_expression "(undefined **)*puVar4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar4" * identifier))) ;) (expression_statement "pcVar5 = *(code **)(iVar12 + 0x24);" (assignment_expression "pcVar5 = *(code **)(iVar12 + 0x24)" identifier = (pointer_expression "*(code **)(iVar12 + 0x24)" * (cast_expression "(code **)(iVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppuVar17[-5] = (undefined **)0xf07f6;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07f6" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf07f6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pppuVar2 = pppuVar17 + 1;" (assignment_expression "pppuVar2 = pppuVar17 + 1" identifier = (binary_expression "pppuVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" * (cast_expression "(undefined4 *)(iVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar15 = *pppuVar2 + -0x410e2;" (assignment_expression "ppuVar15 = *pppuVar2 + -0x410e2" identifier = (binary_expression "*pppuVar2 + -0x410e2" (pointer_expression "*pppuVar2" * identifier) + number_literal)) ;) (expression_statement "pppuVar17 = pppuVar17 + -4;" (assignment_expression "pppuVar17 = pppuVar17 + -4" identifier = (binary_expression "pppuVar17 + -4" identifier + number_literal)) ;) (expression_statement "ppuVar16 = *pppuVar2;" (assignment_expression "ppuVar16 = *pppuVar2" identifier = (pointer_expression "*pppuVar2" * identifier)) ;) (labeled_statement "LAB_000f07c4:\n              *pppuVar17 = ppuVar15;" statement_identifier : (expression_statement "*pppuVar17 = ppuVar15;" (assignment_expression "*pppuVar17 = ppuVar15" (pointer_expression "*pppuVar17" * identifier) = identifier) ;)) (expression_statement "((int *)pppuVar17)[-1] = 0xf07ce;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07ce" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "((int *)pppuVar17)[1] = uVar20;" (assignment_expression "((int *)pppuVar17)[1] = uVar20" (subscript_expression "((int *)pppuVar17)[1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pppuVar17 = (undefined **)uVar14;" (assignment_expression "*pppuVar17 = (undefined **)uVar14" (pointer_expression "*pppuVar17" * identifier) = (cast_expression "(undefined **)uVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "((int *)pppuVar17)[-1] = 0xf07d7;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07d7" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00065480();" (call_expression "FUN_00065480()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;" (assignment_expression "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[-2]" identifier [ number_literal ]) = (binary_expression "pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pppuVar17[-3] = (undefined **)0x11f6;" (assignment_expression "pppuVar17[-3] = (undefined **)0x11f6" (subscript_expression "pppuVar17[-3]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11f6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);" (assignment_expression "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95)" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)pppuVar17[1] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar17[1] + -0xfcc95)" ( (binary_expression "(int)pppuVar17[1] + -0xfcc95" (cast_expression "(int)pppuVar17[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar17[1]" identifier [ number_literal ])) + number_literal) )))) ;) comment (expression_statement "pppuVar17[-5] = (undefined **)0xf0843;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf0843" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf0843" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" else (compound_statement "{\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" { (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" identifier = identifier) ;) (expression_statement "local_7c[0] = (undefined **)*local_24;" (assignment_expression "local_7c[0] = (undefined **)*local_24" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_24" * identifier))) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" { (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" ( (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" ( (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb59;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xc5;" (assignment_expression "local_7c[1] = (undefined **)0xc5" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xc5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_54._4_4_ = (undefined **)appuStack_74[1][2];" (assignment_expression "local_54._4_4_ = (undefined **)appuStack_74[1][2]" (field_expression "local_54._4_4_" identifier . field_identifier) = (cast_expression "(undefined **)appuStack_74[1][2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "local_54._0_4_ = (undefined **)appuStack_74[1][1];" (assignment_expression "local_54._0_4_ = (undefined **)appuStack_74[1][1]" (field_expression "local_54._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)appuStack_74[1][1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "lVar23 = lVar6 - CONCAT44(local_40,local_44);" (assignment_expression "lVar23 = lVar6 - CONCAT44(local_40,local_44)" identifier = (binary_expression "lVar6 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier ))))) ;) (expression_statement "local_2c = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "local_2c = lVar23 + CONCAT44(local_38,local_3c)" identifier = (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" identifier + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "ppuVar15 = (undefined **)(local_2c >> 0x20);" (assignment_expression "ppuVar15 = (undefined **)(local_2c >> 0x20)" identifier = (cast_expression "(undefined **)(local_2c >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c >> 0x20)" ( (binary_expression "local_2c >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "lVar23 = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "lVar23 = lVar23 + CONCAT44(local_38,local_3c)" identifier = (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" identifier + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (if_statement "if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c))" ( (binary_expression "local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (binary_expression "local_54._4_4_ < ppuVar15" (field_expression "local_54._4_4_" identifier . field_identifier) < identifier) || (binary_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (call_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_54._4_4_ - (int)ppuVar15)" ( (binary_expression "(int)local_54._4_4_ - (int)ppuVar15" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) - (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)((undefined **)local_54 < (undefined **)local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 < (undefined **)local_2c)" ( (binary_expression "(undefined **)local_54 < (undefined **)local_2c" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < (cast_expression "(undefined **)local_2c" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))))) )) (compound_statement "{\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }" { (if_statement "if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" if (parenthesized_expression "(*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_2 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_2 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 4) + 0xac)" ( (binary_expression "*(int *)(param_2 + 4) + 0xac" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00();\n            }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x1215;" (assignment_expression "local_7c[1] = (undefined **)0x1215" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x1215" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = appuStack_74[1];" (assignment_expression "local_7c[0] = appuStack_74[1]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();" (assignment_expression "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))()" identifier = (call_expression "(**(code **)(*appuStack_74[1] + 0x24))()" (parenthesized_expression "(**(code **)(*appuStack_74[1] + 0x24))" ( (pointer_expression "**(code **)(*appuStack_74[1] + 0x24)" * (pointer_expression "*(code **)(*appuStack_74[1] + 0x24)" * (cast_expression "(code **)(*appuStack_74[1] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*appuStack_74[1] + 0x24)" ( (binary_expression "*appuStack_74[1] + 0x24" (pointer_expression "*appuStack_74[1]" * (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar12 = (int)*appuStack_74[2];" (assignment_expression "iVar12 = (int)*appuStack_74[2]" identifier = (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "((*(byte *)(iVar12 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar12 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar12 + 0x1c)" * (cast_expression "(byte *)(iVar12 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "local_54._0_4_ = *(undefined ***)(iVar12 + 4);" (assignment_expression "local_54._0_4_ = *(undefined ***)(iVar12 + 4)" (field_expression "local_54._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar12 + 4)" * (cast_expression "(undefined ***)(iVar12 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54._4_4_ = *(undefined ***)(iVar12 + 8);" (assignment_expression "local_54._4_4_ = *(undefined ***)(iVar12 + 8)" (field_expression "local_54._4_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar12 + 8)" * (cast_expression "(undefined ***)(iVar12 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }" { (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2a7;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2a7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f2a7" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);" (assignment_expression "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_)" identifier = (call_expression "CONCAT44((undefined **)local_54,local_2c._4_4_)" identifier (argument_list "((undefined **)local_54,local_2c._4_4_)" ( (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (field_expression "local_2c._4_4_" identifier . field_identifier) )))) ;) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "uVar20 = (undefined *)local_2c;" (assignment_expression "uVar20 = (undefined *)local_2c" identifier = (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" else (compound_statement "{\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" { (expression_statement "local_20 = *(undefined4 *)(iVar13 + 0x20);" (assignment_expression "local_20 = *(undefined4 *)(iVar13 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x20)" * (cast_expression "(undefined4 *)(iVar13 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f298;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f298" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f298" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_7c[1] = local_54._4_4_;" (assignment_expression "local_7c[1] = local_54._4_4_" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "local_7c[0] = (undefined **)local_54;" (assignment_expression "local_7c[0] = (undefined **)local_54" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar20 = local_20;" (assignment_expression "uVar20 = local_20" identifier = identifier) ;) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" identifier = identifier) ;) }))) (expression_statement "FUN_000654b0(uVar14,uVar20,uVar10);" (call_expression "FUN_000654b0(uVar14,uVar20,uVar10)" identifier (argument_list "(uVar14,uVar20,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) }) (else_clause "else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" else (if_statement "if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0))" ( (binary_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)" (parenthesized_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)" ( (binary_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19)))" ( (binary_expression "SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" (call_expression "SBORROW4((int)appuStack_74[6],iVar12)" identifier (argument_list "((int)appuStack_74[6],iVar12)" ( (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) , identifier ))) != (call_expression "SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" identifier (argument_list "((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" ( (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) - identifier) , (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < puVar19)" ( (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < identifier) ))) )))) )) == (binary_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (cast_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" ( (binary_expression "((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "((int)appuStack_74[6] - iVar12)" ( (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) - identifier) )) - (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < puVar19)" ( (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((local_32 ^ 1) == 0)" ( (binary_expression "(local_32 ^ 1) == 0" (parenthesized_expression "(local_32 ^ 1)" ( (binary_expression "local_32 ^ 1" identifier ^ number_literal) )) == number_literal) ))) )) (compound_statement "{\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }" { (expression_statement "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);" (assignment_expression "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1)" identifier = (binary_expression "lVar6 + *(longlong *)(appuStack_74[1] + 1)" identifier + (pointer_expression "*(longlong *)(appuStack_74[1] + 1)" * (cast_expression "(longlong *)(appuStack_74[1] + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 1)" ( (binary_expression "appuStack_74[1] + 1" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))))) ;) (if_statement "if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" if (parenthesized_expression "(((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'))" ( (binary_expression "((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" (parenthesized_expression "((local_32 ^ 1) != 0)" ( (binary_expression "(local_32 ^ 1) != 0" (parenthesized_expression "(local_32 ^ 1)" ( (binary_expression "local_32 ^ 1" identifier ^ number_literal) )) != number_literal) )) || (parenthesized_expression "(lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" ( (comma_expression "lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar6 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) , (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) , (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" { (expression_statement "lVar6 = lVar7 - lVar23;" (assignment_expression "lVar6 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) ;) (expression_statement "lVar24 = lVar7 - lVar23;" (assignment_expression "lVar24 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) ;) })) }) (else_clause "else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" else (compound_statement "{\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" { (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2bf;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2bf" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f2bf" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)gettext();" (assignment_expression "local_7c[0] = (undefined **)gettext()" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)gettext()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_000654e0();" (call_expression "FUN_000654e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" ( (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" ( (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);" (assignment_expression "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" identifier = (call_expression "CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" identifier (argument_list "(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" ( (binary_expression "appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]) + (parenthesized_expression "((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" ( (binary_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_)" ( (binary_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_" (parenthesized_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12)" ( (binary_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12" (cast_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" identifier (argument_list "((uint)puVar19,(uint)appuStack_74[1][1])" ( (cast_expression "(uint)puVar19" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)appuStack_74[1][1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) )))) + identifier) )) - (field_expression "local_2c._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" ( (binary_expression "puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c" (binary_expression "puVar19 + (int)appuStack_74[1][1]" identifier + (cast_expression "(int)appuStack_74[1][1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) < (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ))) , (binary_expression "(int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c" (cast_expression "(int)(puVar19 + (int)appuStack_74[1][1])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar19 + (int)appuStack_74[1][1])" ( (binary_expression "puVar19 + (int)appuStack_74[1][1]" identifier + (cast_expression "(int)appuStack_74[1][1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ))) - (cast_expression "(int)(undefined *)local_2c" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" identifier = identifier) ;) }))))) (expression_statement "bVar3 = *(byte *)(appuStack_74[1] + 7);" (assignment_expression "bVar3 = *(byte *)(appuStack_74[1] + 7)" identifier = (pointer_expression "*(byte *)(appuStack_74[1] + 7)" * (cast_expression "(byte *)(appuStack_74[1] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 7)" ( (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" statement_identifier : (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec24;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x14b;" (assignment_expression "local_7c[1] = (undefined **)0x14b" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x14b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4;" (assignment_expression "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4" (pointer_expression "*(byte *)(appuStack_74[1] + 7)" * (cast_expression "(byte *)(appuStack_74[1] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 7)" ( (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 | 4" identifier | number_literal)) ;) (expression_statement "*(longlong *)(appuStack_74[1] + 5) = lVar24;" (assignment_expression "*(longlong *)(appuStack_74[1] + 5) = lVar24" (pointer_expression "*(longlong *)(appuStack_74[1] + 5)" * (cast_expression "(longlong *)(appuStack_74[1] + 5)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 5)" ( (binary_expression "appuStack_74[1] + 5" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "ppuVar15 = appuStack_74[1];" (assignment_expression "ppuVar15 = appuStack_74[1]" identifier = (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" identifier = identifier) ;) (goto_statement "goto joined_r0x000f0642;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }" if (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4)" ( (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 4" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" * (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" ( (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb67;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xe3;" (assignment_expression "local_7c[1] = (undefined **)0xe3" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xe3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);" (assignment_expression "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14)" identifier = (cast_expression "(longlong *)((int)*appuStack_74[2] + 0x14)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x14)" ( (binary_expression "(int)*appuStack_74[2] + 0x14" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) ;) (expression_statement "lVar23 = *plVar1;" (assignment_expression "lVar23 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (expression_statement "lVar6 = *plVar1;" (assignment_expression "lVar6 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) }))) (expression_statement "uVar18 = (uint)lVar6;" (assignment_expression "uVar18 = (uint)lVar6" identifier = (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar23" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[0] = (undefined **)*local_58;" (assignment_expression "local_7c[0] = (undefined **)*local_58" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_58" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_58" * identifier))) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (labeled_statement "LAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;" statement_identifier : (if_statement "if (local_33 == '\0') goto LAB_000f03a0;" if (parenthesized_expression "(local_33 == '\0')" ( (binary_expression "local_33 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;))) (labeled_statement "LAB_000f00a0:\n        lVar23 = local_4c;" statement_identifier : (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;)) (if_statement "if (local_32 == 0) goto LAB_000f03a0;" if (parenthesized_expression "(local_32 == 0)" ( (binary_expression "local_32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;)) }) (else_clause "else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" else (compound_statement "{\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" { (expression_statement "puVar4 = (undefined4 *)*local_58;" (assignment_expression "puVar4 = (undefined4 *)*local_58" identifier = (cast_expression "(undefined4 *)*local_58" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_58" * identifier))) ;) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;" if (parenthesized_expression "((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0))" ( (binary_expression "(puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)" (parenthesized_expression "(puVar4[2] == 0)" ( (binary_expression "puVar4[2] == 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((*(byte *)(puVar4 + 5) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar4 + 5) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar4 + 5) & 0x10)" ( (binary_expression "*(byte *)(puVar4 + 5) & 0x10" (pointer_expression "*(byte *)(puVar4 + 5)" * (cast_expression "(byte *)(puVar4 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 5)" ( (binary_expression "puVar4 + 5" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000f0095;" goto statement_identifier ;)) (expression_statement "uVar20 = *puVar4;" (assignment_expression "uVar20 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0x104a65)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0x104a65)" ( (binary_expression "(int)appuStack_74[3] + -0x104a65" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" { (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = *(undefined ***)(iVar12 + 0x20);" (assignment_expression "local_7c[0] = *(undefined ***)(iVar12 + 0x20)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(iVar12 + 0x20)" * (cast_expression "(undefined ***)(iVar12 + 0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) })) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2)" ( (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 2" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" * (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" ( (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) (expression_statement "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));" (call_expression "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" identifier (argument_list "(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" ( identifier , (binary_expression "appuStack_74[3] + -0x3f288" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal) , identifier , (pointer_expression "*(undefined4 *)((int)*appuStack_74[2] + 0xc)" * (cast_expression "(undefined4 *)((int)*appuStack_74[2] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0xc)" ( (binary_expression "(int)*appuStack_74[2] + 0xc" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) ))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (if_statement "if (local_33 != '\0') goto LAB_000f00a0;" if (parenthesized_expression "(local_33 != '\0')" ( (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f00a0;" goto statement_identifier ;)) (labeled_statement "LAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }" statement_identifier : (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }" if (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" ( (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00();\n        }" { (labeled_statement "LAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb48;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xcf;" (assignment_expression "local_7c[1] = (undefined **)0xcf" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xcf" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar19 = local_7c[0][3] + uVar18;" (assignment_expression "puVar19 = local_7c[0][3] + uVar18" identifier = (binary_expression "local_7c[0][3] + uVar18" (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) + identifier)) ;) (expression_statement "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" identifier = (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3])" (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar18,(uint)local_7c[0][3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,(uint)local_7c[0][3])" identifier (argument_list "(uVar18,(uint)local_7c[0][3])" ( identifier , (cast_expression "(uint)local_7c[0][3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) ))))) + (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" identifier = (call_expression "CONCAT44(puVar21,puVar19)" identifier (argument_list "(puVar21,puVar19)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;) (if_statement "if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" if (parenthesized_expression "(local_32 == 0)" ( (binary_expression "local_32 == 0" identifier == number_literal) )) (compound_statement "{\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" { (expression_statement "appuStack_74[4] = (undefined **)puVar19;" (assignment_expression "appuStack_74[4] = (undefined **)puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)puVar19" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[6] = (undefined **)puVar21;" (assignment_expression "appuStack_74[6] = (undefined **)puVar21" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)puVar21" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" identifier = (call_expression "CONCAT44(puVar21,puVar19)" identifier (argument_list "(puVar21,puVar19)" ( identifier , identifier )))) ;) })) }))) (expression_statement "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);" (assignment_expression "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20)" (field_expression "local_4c._4_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_4c._0_4_ = (uint)lVar23;" (assignment_expression "local_4c._0_4_ = (uint)lVar23" (field_expression "local_4c._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)((uint)local_4c < (uint)lVar6);" (assignment_expression "uVar18 = (uint)((uint)local_4c < (uint)lVar6)" identifier = (call_expression "(uint)((uint)local_4c < (uint)lVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_4c < (uint)lVar6)" ( (binary_expression "(uint)local_4c < (uint)lVar6" (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "bVar22 = SBORROW4(local_4c._4_4_,iVar12);" (assignment_expression "bVar22 = SBORROW4(local_4c._4_4_,iVar12)" identifier = (call_expression "SBORROW4(local_4c._4_4_,iVar12)" identifier (argument_list "(local_4c._4_4_,iVar12)" ( (field_expression "local_4c._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "iVar12 = local_4c._4_4_ - iVar12;" (assignment_expression "iVar12 = local_4c._4_4_ - iVar12" identifier = (binary_expression "local_4c._4_4_ - iVar12" (field_expression "local_4c._4_4_" identifier . field_identifier) - identifier)) ;) (expression_statement "local_4c = lVar23;" (assignment_expression "local_4c = lVar23" identifier = identifier) ;) (if_statement "if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }" if (parenthesized_expression "((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0)" ( (binary_expression "(bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0" (parenthesized_expression "(bVar22 != SBORROW4(iVar12,uVar18))" ( (binary_expression "bVar22 != SBORROW4(iVar12,uVar18)" identifier != (call_expression "SBORROW4(iVar12,uVar18)" identifier (argument_list "(iVar12,uVar18)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar12 - uVar18) < 0" (cast_expression "(int)(iVar12 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar12 - uVar18)" ( (binary_expression "iVar12 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        local_4c = lVar6;\n      }" { (expression_statement "local_4c = lVar6;" (assignment_expression "local_4c = lVar6" identifier = identifier) ;) })) (expression_statement "cVar11 = (**(code **)(*local_7c[0] + 0x18))();" (assignment_expression "cVar11 = (**(code **)(*local_7c[0] + 0x18))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x18))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x18))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x18)" * (pointer_expression "*(code **)(*local_7c[0] + 0x18)" * (cast_expression "(code **)(*local_7c[0] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x18)" ( (binary_expression "*local_7c[0] + 0x18" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" if (parenthesized_expression "(cVar11 != '\0')" ( (binary_expression "cVar11 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "local_7c[1] = (undefined **)*param_9;" (assignment_expression "local_7c[1] = (undefined **)*param_9" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_9" * identifier))) ;) (if_statement "if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" if (parenthesized_expression "(*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4)" ( (binary_expression "*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4" (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_7c[0] + 0x30)" ( (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) )))) == (binary_expression "appuStack_74[3] + -0xba8f4" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }" { (if_statement "if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" if (parenthesized_expression "((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff))" ( (binary_expression "(local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)" (parenthesized_expression "(local_7c[1] != (undefined **)local_7c[0][0x18])" ( (binary_expression "local_7c[1] != (undefined **)local_7c[0][0x18]" (subscript_expression "local_7c[1]" identifier [ number_literal ]) != (cast_expression "(undefined **)local_7c[0][0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) )) && (parenthesized_expression "(local_7c[0][0x18] != (undefined *)0xffffffff)" ( (binary_expression "local_7c[0][0x18] != (undefined *)0xffffffff" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed7c;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x104b;" (assignment_expression "local_7c[1] = (undefined **)0x104b" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x104b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0][0x18] = (undefined *)local_7c[1];" (assignment_expression "local_7c[0][0x18] = (undefined *)local_7c[1]" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) = (cast_expression "(undefined *)local_7c[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_7c[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" else (compound_statement "{\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" { (expression_statement "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))();" (call_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))()" (parenthesized_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))" ( (pointer_expression "*(code *)*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(code *)*(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_7c[0] + 0x30)" ( (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) )))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*param_9 = *param_9 + 1;" (assignment_expression "*param_9 = *param_9 + 1" (pointer_expression "*param_9" * identifier) = (binary_expression "*param_9 + 1" (pointer_expression "*param_9" * identifier) + number_literal)) ;) })) (expression_statement "appuStack_74[2] = appuStack_74[2] + 1;" (assignment_expression "appuStack_74[2] = appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) = (binary_expression "appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) + number_literal)) ;) }) while (parenthesized_expression "((undefined **)param_4[1] != appuStack_74[2])" ( (binary_expression "(undefined **)param_4[1] != appuStack_74[2]" (cast_expression "(undefined **)param_4[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) )) ;) (expression_statement "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" identifier = (binary_expression "(local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(local_4c - CONCAT44(local_40,local_44))" ( (binary_expression "local_4c - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;) })) (expression_statement "*(longlong *)param_7 = lVar23;" (assignment_expression "*(longlong *)param_7 = lVar23" (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*param_8 = (int)appuStack_74[4];" (assignment_expression "*param_8 = (int)appuStack_74[4]" (pointer_expression "*param_8" * identifier) = (cast_expression "(int)appuStack_74[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[4]" identifier [ number_literal ]))) ;) (expression_statement "param_8[1] = (int)appuStack_74[6];" (assignment_expression "param_8[1] = (int)appuStack_74[6]" (subscript_expression "param_8[1]" identifier [ number_literal ]) = (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ]))) ;) (return_statement "return lVar24;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: uint64_t set_section_list_addresses(Output_segment * this, Layout *\n   layout, bool reset, Output_data_list * pdl, uint64_t addr, off_t * poff, off_t * pfoff, uint *\n   pshndx, bool * in_tls) */\n\nuint64_t __thiscall\ngold::Output_segment::set_section_list_addresses\n          (Output_segment *this,Layout *layout,bool reset,Output_data_list *pdl,uint64_t addr,\n          off_t *poff,off_t *pfoff,uint *pshndx,bool *in_tls)\n\n{\n  int *piVar1;\n  off_t *poVar2;\n  byte bVar3;\n  _func_int_varargs **pp_Var4;\n  Errors *this_00;\n  undefined4 uVar5;\n  longlong lVar6;\n  longlong lVar7;\n  longlong lVar8;\n  off_t minoff;\n  longlong lVar9;\n  longlong lVar10;\n  off_t oVar11;\n  off_t oVar12;\n  byte bVar13;\n  char cVar14;\n  bool bVar15;\n  Output_data *pOVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  char *pcVar20;\n  int iVar21;\n  uint extraout_EDX;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint64_t uVar25;\n  longlong lVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  pointer local_6c;\n  uint local_64;\n  int local_5c;\n  undefined8 local_54;\n  undefined8 local_4c;\n  \n  oVar11 = *poff;\n  iVar21 = *(int *)((int)poff + 4);\n  lVar10 = *poff;\n  minoff = *poff;\n  lVar8 = *poff;\n  local_4c = *poff;\n  lVar26 = *poff;\n  lVar9 = *pfoff;\n  lVar7 = *pfoff;\n  local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start;\n  lVar6 = *poff;\n  if (local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish) {\n    do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);\n    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);\n    lVar6 = local_4c;\n    lVar9 = lVar7;\n  }\n  local_4c = lVar6;\n  *(uint *)poff = (uint)local_4c;\n  *(int *)((int)poff + 4) = local_4c._4_4_;\n  *pfoff = lVar9;\n  return addr;\n}\n\n" comment comment comment (function_definition "uint64_t __thiscall\ngold::Output_segment::set_section_list_addresses\n          (Output_segment *this,Layout *layout,bool reset,Output_data_list *pdl,uint64_t addr,\n          off_t *poff,off_t *pfoff,uint *pshndx,bool *in_tls)\n\n{\n  int *piVar1;\n  off_t *poVar2;\n  byte bVar3;\n  _func_int_varargs **pp_Var4;\n  Errors *this_00;\n  undefined4 uVar5;\n  longlong lVar6;\n  longlong lVar7;\n  longlong lVar8;\n  off_t minoff;\n  longlong lVar9;\n  longlong lVar10;\n  off_t oVar11;\n  off_t oVar12;\n  byte bVar13;\n  char cVar14;\n  bool bVar15;\n  Output_data *pOVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  char *pcVar20;\n  int iVar21;\n  uint extraout_EDX;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint64_t uVar25;\n  longlong lVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  pointer local_6c;\n  uint local_64;\n  int local_5c;\n  undefined8 local_54;\n  undefined8 local_4c;\n  \n  oVar11 = *poff;\n  iVar21 = *(int *)((int)poff + 4);\n  lVar10 = *poff;\n  minoff = *poff;\n  lVar8 = *poff;\n  local_4c = *poff;\n  lVar26 = *poff;\n  lVar9 = *pfoff;\n  lVar7 = *pfoff;\n  local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start;\n  lVar6 = *poff;\n  if (local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish) {\n    do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);\n    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);\n    lVar6 = local_4c;\n    lVar9 = lVar7;\n  }\n  local_4c = lVar6;\n  *(uint *)poff = (uint)local_4c;\n  *(int *)((int)poff + 4) = local_4c._4_4_;\n  *pfoff = lVar9;\n  return addr;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment::" identifier : : identifier : :) (function_declarator "set_section_list_addresses\n          (Output_segment *this,Layout *layout,bool reset,Output_data_list *pdl,uint64_t addr,\n          off_t *poff,off_t *pfoff,uint *pshndx,bool *in_tls)" identifier (parameter_list "(Output_segment *this,Layout *layout,bool reset,Output_data_list *pdl,uint64_t addr,\n          off_t *poff,off_t *pfoff,uint *pshndx,bool *in_tls)" ( (parameter_declaration "Output_segment *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "bool reset" primitive_type identifier) , (parameter_declaration "Output_data_list *pdl" type_identifier (pointer_declarator "*pdl" * identifier)) , (parameter_declaration "uint64_t addr" primitive_type identifier) , (parameter_declaration "off_t *poff" type_identifier (pointer_declarator "*poff" * identifier)) , (parameter_declaration "off_t *pfoff" type_identifier (pointer_declarator "*pfoff" * identifier)) , (parameter_declaration "uint *pshndx" type_identifier (pointer_declarator "*pshndx" * identifier)) , (parameter_declaration "bool *in_tls" primitive_type (pointer_declarator "*in_tls" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  off_t *poVar2;\n  byte bVar3;\n  _func_int_varargs **pp_Var4;\n  Errors *this_00;\n  undefined4 uVar5;\n  longlong lVar6;\n  longlong lVar7;\n  longlong lVar8;\n  off_t minoff;\n  longlong lVar9;\n  longlong lVar10;\n  off_t oVar11;\n  off_t oVar12;\n  byte bVar13;\n  char cVar14;\n  bool bVar15;\n  Output_data *pOVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  char *pcVar20;\n  int iVar21;\n  uint extraout_EDX;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint64_t uVar25;\n  longlong lVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  pointer local_6c;\n  uint local_64;\n  int local_5c;\n  undefined8 local_54;\n  undefined8 local_4c;\n  \n  oVar11 = *poff;\n  iVar21 = *(int *)((int)poff + 4);\n  lVar10 = *poff;\n  minoff = *poff;\n  lVar8 = *poff;\n  local_4c = *poff;\n  lVar26 = *poff;\n  lVar9 = *pfoff;\n  lVar7 = *pfoff;\n  local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start;\n  lVar6 = *poff;\n  if (local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish) {\n    do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);\n    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);\n    lVar6 = local_4c;\n    lVar9 = lVar7;\n  }\n  local_4c = lVar6;\n  *(uint *)poff = (uint)local_4c;\n  *(int *)((int)poff + 4) = local_4c._4_4_;\n  *pfoff = lVar9;\n  return addr;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "off_t *poVar2;" type_identifier (pointer_declarator "*poVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var4;" type_identifier (pointer_declarator "**pp_Var4" * (pointer_declarator "*pp_Var4" * identifier)) ;) (declaration "Errors *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "longlong lVar7;" type_identifier identifier ;) (declaration "longlong lVar8;" type_identifier identifier ;) (declaration "off_t minoff;" type_identifier identifier ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "longlong lVar10;" type_identifier identifier ;) (declaration "off_t oVar11;" type_identifier identifier ;) (declaration "off_t oVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "Output_data *pOVar16;" type_identifier (pointer_declarator "*pOVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "uint64_t uVar25;" primitive_type identifier ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "pointer local_6c;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined8 local_54;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (expression_statement "oVar11 = *poff;" (assignment_expression "oVar11 = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "iVar21 = *(int *)((int)poff + 4);" (assignment_expression "iVar21 = *(int *)((int)poff + 4)" identifier = (pointer_expression "*(int *)((int)poff + 4)" * (cast_expression "(int *)((int)poff + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)poff + 4)" ( (binary_expression "(int)poff + 4" (cast_expression "(int)poff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "lVar10 = *poff;" (assignment_expression "lVar10 = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "minoff = *poff;" (assignment_expression "minoff = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "lVar8 = *poff;" (assignment_expression "lVar8 = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "local_4c = *poff;" (assignment_expression "local_4c = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "lVar26 = *poff;" (assignment_expression "lVar26 = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (expression_statement "lVar9 = *pfoff;" (assignment_expression "lVar9 = *pfoff" identifier = (pointer_expression "*pfoff" * identifier)) ;) (expression_statement "lVar7 = *pfoff;" (assignment_expression "lVar7 = *pfoff" identifier = (pointer_expression "*pfoff" * identifier)) ;) (expression_statement "local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start;" (assignment_expression "local_6c = (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start" identifier = (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_start" (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl" (parenthesized_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)" ( (ERROR "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::" (comma_expression "pdl->super__Vector_base<gold::Output_data*,_std" (binary_expression "pdl->super__Vector_base<gold::Output_data*" (binary_expression "pdl->super__Vector_base<gold" (field_expression "pdl->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_data*>_>" (binary_expression "Output_data*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "lVar6 = *poff;" (assignment_expression "lVar6 = *poff" identifier = (pointer_expression "*poff" * identifier)) ;) (if_statement "if (local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish) {\n    do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);\n    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);\n    lVar6 = local_4c;\n    lVar9 = lVar7;\n  }" if (parenthesized_expression "(local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish)" ( (binary_expression "local_6c !=\n      (pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish" identifier != (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl.\n      _M_finish" (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)._M_impl" (parenthesized_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)" ( (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std" (binary_expression "pdl->super__Vector_base<gold" (field_expression "pdl->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n    do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);\n    addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);\n    lVar6 = local_4c;\n    lVar9 = lVar7;\n  }" { (do_statement "do {\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    } while ((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c);" do (compound_statement "{\n      local_5c = (int)((ulonglong)lVar7 >> 0x20);\n      local_64 = (uint)lVar7;\n      iVar24 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)lVar26;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);\n      bVar13 = (byte)iVar17;\n      uVar28 = 0x400;\n      iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);\n      cVar14 = (char)iVar17;\n      if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }\n      pOVar16 = *local_6c;\n      if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }\n      uVar18 = (uint)lVar26;\n      bVar15 = Parameters::incremental_update(parameters);\n      if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }\n      iVar17 = (int)((ulonglong)lVar26 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar26);\n      bVar15 = SBORROW4(local_4c._4_4_,iVar17);\n      iVar17 = local_4c._4_4_ - iVar17;\n      if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }\n      iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);\n      if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }\n      local_6c = local_6c + 1;\n    }" { (expression_statement "local_5c = (int)((ulonglong)lVar7 >> 0x20);" (assignment_expression "local_5c = (int)((ulonglong)lVar7 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar7 >> 0x20)" ( (binary_expression "(ulonglong)lVar7 >> 0x20" (cast_expression "(ulonglong)lVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_64 = (uint)lVar7;" (assignment_expression "local_64 = (uint)lVar7" identifier = (cast_expression "(uint)lVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar24 = (int)((ulonglong)lVar26 >> 0x20);" (assignment_expression "iVar24 = (int)((ulonglong)lVar26 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)lVar26;" (assignment_expression "uVar18 = (uint)lVar26" identifier = (cast_expression "(uint)lVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8);" (assignment_expression "iVar17 = (*(*local_6c)->_vptr_Output_data[7])(*local_6c,8)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[7])(*local_6c,8)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[7])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[7]" * (subscript_expression "(*local_6c)->_vptr_Output_data[7]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c,8)" ( (pointer_expression "*local_6c" * identifier) , number_literal )))) ;) (expression_statement "bVar13 = (byte)iVar17;" (assignment_expression "bVar13 = (byte)iVar17" identifier = (cast_expression "(byte)iVar17" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar28 = 0x400;" (assignment_expression "uVar28 = 0x400" identifier = number_literal) ;) (expression_statement "iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0);" (assignment_expression "iVar17 = (*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[8])(*local_6c,0x400,0)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[8])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[8]" * (subscript_expression "(*local_6c)->_vptr_Output_data[8]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c,0x400,0)" ( (pointer_expression "*local_6c" * identifier) , number_literal , number_literal )))) ;) (expression_statement "cVar14 = (char)iVar17;" (assignment_expression "cVar14 = (char)iVar17" identifier = (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (reset) {\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }" if (parenthesized_expression "(reset)" ( identifier )) (compound_statement "{\n        pOVar16 = *local_6c;\n        bVar3 = pOVar16->field_0x1c;\n        pOVar16->field_0x1c = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }\n        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);\n      }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "bVar3 = pOVar16->field_0x1c;" (assignment_expression "bVar3 = pOVar16->field_0x1c" identifier = (field_expression "pOVar16->field_0x1c" identifier -> field_identifier)) ;) (expression_statement "pOVar16->field_0x1c = bVar3 & 0xfa;" (assignment_expression "pOVar16->field_0x1c = bVar3 & 0xfa" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar3 & 8) == 0) {\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }" if (parenthesized_expression "((bVar3 & 8) == 0)" ( (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          pOVar16->field_0x1c = bVar3 & 0xf8;\n        }" { (expression_statement "pOVar16->field_0x1c = bVar3 & 0xf8;" (assignment_expression "pOVar16->field_0x1c = bVar3 & 0xf8" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 & 0xf8" identifier & number_literal)) ;) })) (expression_statement "(*pOVar16->_vptr_Output_data[0xf])(pOVar16);" (call_expression "(*pOVar16->_vptr_Output_data[0xf])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[0xf])" ( (pointer_expression "*pOVar16->_vptr_Output_data[0xf]" * (subscript_expression "pOVar16->_vptr_Output_data[0xf]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier ))) ;) })) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 1) == 0) {\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }\n      else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }" if (parenthesized_expression "((pOVar16->field_0x1c & 1) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 1) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 1)" ( (binary_expression "pOVar16->field_0x1c & 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);\n        local_54 = CONCAT44(extraout_EDX,uVar18);\n        if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }\n        bVar15 = Parameters::incremental_update(parameters);\n        if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }\n      }" { (expression_statement "uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16);" (assignment_expression "uVar18 = (*pOVar16->_vptr_Output_data[3])(pOVar16)" identifier = (call_expression "(*pOVar16->_vptr_Output_data[3])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[3])" ( (pointer_expression "*pOVar16->_vptr_Output_data[3]" * (subscript_expression "pOVar16->_vptr_Output_data[3]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier )))) ;) (expression_statement "local_54 = CONCAT44(extraout_EDX,uVar18);" (assignment_expression "local_54 = CONCAT44(extraout_EDX,uVar18)" identifier = (call_expression "CONCAT44(extraout_EDX,uVar18)" identifier (argument_list "(extraout_EDX,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (cVar14 == '\0') {\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }\n        else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }\n        }" { (if_statement "if (*in_tls != false) {\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }" if (parenthesized_expression "(*in_tls != false)" ( (binary_expression "*in_tls != false" (pointer_expression "*in_tls" * identifier) != false) )) (compound_statement "{\n            uVar25 = maximum_alignment(layout->tls_segment_);\n            uVar23 = (uint)(uVar25 >> 0x20);\n            if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }\n            *in_tls = false;\n          }" { (expression_statement "uVar25 = maximum_alignment(layout->tls_segment_);" (assignment_expression "uVar25 = maximum_alignment(layout->tls_segment_)" identifier = (call_expression "maximum_alignment(layout->tls_segment_)" identifier (argument_list "(layout->tls_segment_)" ( (field_expression "layout->tls_segment_" identifier -> field_identifier) )))) ;) (expression_statement "uVar23 = (uint)(uVar25 >> 0x20);" (assignment_expression "uVar23 = (uint)(uVar25 >> 0x20)" identifier = (call_expression "(uint)(uVar25 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar25 >> 0x20)" ( (binary_expression "uVar25 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)) {\n              local_54 = uVar25;\n            }" if (parenthesized_expression "(extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25))" ( (binary_expression "extraout_EDX < uVar23 || extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)" (binary_expression "extraout_EDX < uVar23" identifier < identifier) || (binary_expression "extraout_EDX - uVar23 < (uint)(uVar18 < (uint)uVar25)" (binary_expression "extraout_EDX - uVar23" identifier - identifier) < (call_expression "(uint)(uVar18 < (uint)uVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < (uint)uVar25)" ( (binary_expression "uVar18 < (uint)uVar25" identifier < (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n              local_54 = uVar25;\n            }" { (expression_statement "local_54 = uVar25;" (assignment_expression "local_54 = uVar25" identifier = identifier) ;) })) (expression_statement "*in_tls = false;" (assignment_expression "*in_tls = false" (pointer_expression "*in_tls" * identifier) = false) ;) })) }) (else_clause "else if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }" else (if_statement "if (*in_tls == false) {\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }" if (parenthesized_expression "(*in_tls == false)" ( (binary_expression "*in_tls == false" (pointer_expression "*in_tls" * identifier) == false) )) (compound_statement "{\n          if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }\n          local_54 = maximum_alignment(layout->tls_segment_);\n          uVar23 = (uint)(local_54 >> 0x20);\n          if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }\n          *in_tls = true;\n        }" { (if_statement "if (layout->tls_segment_ == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }" if (parenthesized_expression "(layout->tls_segment_ == (Output_segment *)0x0)" ( (binary_expression "layout->tls_segment_ == (Output_segment *)0x0" (field_expression "layout->tls_segment_" identifier -> field_identifier) == (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x11c4,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x11c4,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (expression_statement "local_54 = maximum_alignment(layout->tls_segment_);" (assignment_expression "local_54 = maximum_alignment(layout->tls_segment_)" identifier = (call_expression "maximum_alignment(layout->tls_segment_)" identifier (argument_list "(layout->tls_segment_)" ( (field_expression "layout->tls_segment_" identifier -> field_identifier) )))) ;) (expression_statement "uVar23 = (uint)(local_54 >> 0x20);" (assignment_expression "uVar23 = (uint)(local_54 >> 0x20)" identifier = (call_expression "(uint)(local_54 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 >> 0x20)" ( (binary_expression "local_54 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }" if (parenthesized_expression "(uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18))" ( (binary_expression "uVar23 < extraout_EDX || uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)" (binary_expression "uVar23 < extraout_EDX" identifier < identifier) || (binary_expression "uVar23 - extraout_EDX < (uint)((uint)local_54 < uVar18)" (binary_expression "uVar23 - extraout_EDX" identifier - identifier) < (call_expression "(uint)((uint)local_54 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_54 < uVar18)" ( (binary_expression "(uint)local_54 < uVar18" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x11c6,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x11c6,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (expression_statement "*in_tls = true;" (assignment_expression "*in_tls = true" (pointer_expression "*in_tls" * identifier) = true) ;) })))) (ERROR "bVar15 = Parameters::" (assignment_expression "bVar15 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }\n        else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }\n          iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);\n          oVar12 = pOVar16->data_size_;\n          lVar26 = Free_list::allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);\n          if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(int *)&pOVar16->offset_ = (int)lVar26;\n          pOVar16->field_0x1c = bVar3 | 5;\n          *(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }\n          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);\n          uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);\n          iVar24 = iVar17 - *piVar1;\n          lVar7 = lVar26;\n          if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }\n        }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }" if (parenthesized_expression "((pOVar16->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 2)" ( (binary_expression "pOVar16->field_0x1c & 2" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);\n            pOVar16 = *local_6c;\n          }" { (expression_statement "(*pOVar16->_vptr_Output_data[0xd])(pOVar16);" (call_expression "(*pOVar16->_vptr_Output_data[0xd])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[0xd])" ( (pointer_expression "*pOVar16->_vptr_Output_data[0xd]" * (subscript_expression "pOVar16->_vptr_Output_data[0xd]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier ))) ;) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) })) (expression_statement "iVar17 = *(int *)((int)&pOVar16->data_size_ + 4);" (assignment_expression "iVar17 = *(int *)((int)&pOVar16->data_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&pOVar16->data_size_ + 4)" * (cast_expression "(int *)((int)&pOVar16->data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->data_size_ + 4)" ( (binary_expression "(int)&pOVar16->data_size_ + 4" (cast_expression "(int)&pOVar16->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->data_size_" & (field_expression "pOVar16->data_size_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "oVar12 = pOVar16->data_size_;" (assignment_expression "oVar12 = pOVar16->data_size_" identifier = (field_expression "pOVar16->data_size_" identifier -> field_identifier)) ;) (ERROR "lVar26 = Free_list::" (assignment_expression "lVar26 = Free_list" identifier = identifier) : :) (expression_statement "allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff);" (call_expression "allocate(&layout->free_list_,pOVar16->data_size_,local_54,minoff)" identifier (argument_list "(&layout->free_list_,pOVar16->data_size_,local_54,minoff)" ( (pointer_expression "&layout->free_list_" & (field_expression "layout->free_list_" identifier -> field_identifier)) , (field_expression "pOVar16->data_size_" identifier -> field_identifier) , identifier , identifier ))) ;) (if_statement "if (lVar26 == -1) {\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }" if (parenthesized_expression "(lVar26 == -1)" ( (binary_expression "lVar26 == -1" identifier == number_literal) )) (compound_statement "{\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "out of patch space for section %s; relink with --incremental-full";\nLAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar20,uVar28);\n          }" { (expression_statement "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);" (assignment_expression "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[9])(*local_6c)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[9])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[9]" * (subscript_expression "(*local_6c)->_vptr_Output_data[9]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )))) ;) (if_statement "if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x11ee,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x11ee,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (expression_statement "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);" (assignment_expression "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[9])(*local_6c)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[9])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[9]" * (subscript_expression "(*local_6c)->_vptr_Output_data[9]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )))) ;) (expression_statement "uVar28 = *(undefined4 *)(iVar21 + 0x20);" (assignment_expression "uVar28 = *(undefined4 *)(iVar21 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar21 + 0x20)" * (cast_expression "(undefined4 *)(iVar21 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = "out of patch space for section %s; relink with --incremental-full";" (assignment_expression "pcVar20 = "out of patch space for section %s; relink with --incremental-full"" identifier = (string_literal ""out of patch space for section %s; relink with --incremental-full"" " string_content ")) ;) (labeled_statement "LAB_000f07c4:\n            pcVar20 = (char *)gettext(pcVar20);" statement_identifier : (expression_statement "pcVar20 = (char *)gettext(pcVar20);" (assignment_expression "pcVar20 = (char *)gettext(pcVar20)" identifier = (cast_expression "(char *)gettext(pcVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))))) ;)) comment (expression_statement "gold_fallback(pcVar20,uVar28);" (call_expression "gold_fallback(pcVar20,uVar28)" identifier (argument_list "(pcVar20,uVar28)" ( identifier , identifier ))) ;) })) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "bVar3 = pOVar16->field_0x1c;" (assignment_expression "bVar3 = pOVar16->field_0x1c" identifier = (field_expression "pOVar16->field_0x1c" identifier -> field_identifier)) ;) (if_statement "if ((bVar3 & 1) != 0) goto LAB_000f089e;" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f089e;" goto statement_identifier ;)) (expression_statement "pOVar16->address_ = (lVar26 - lVar10) + addr;" (assignment_expression "pOVar16->address_ = (lVar26 - lVar10) + addr" (field_expression "pOVar16->address_" identifier -> field_identifier) = (binary_expression "(lVar26 - lVar10) + addr" (parenthesized_expression "(lVar26 - lVar10)" ( (binary_expression "lVar26 - lVar10" identifier - identifier) )) + identifier)) ;) (expression_statement "pOVar16->field_0x1c = bVar3 | 1;" (assignment_expression "pOVar16->field_0x1c = bVar3 | 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "*(int *)&pOVar16->offset_ = (int)lVar26;" (assignment_expression "*(int *)&pOVar16->offset_ = (int)lVar26" (pointer_expression "*(int *)&pOVar16->offset_" * (cast_expression "(int *)&pOVar16->offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar16->offset_" & (field_expression "pOVar16->offset_" identifier -> field_identifier)))) = (cast_expression "(int)lVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pOVar16->field_0x1c = bVar3 | 5;" (assignment_expression "pOVar16->field_0x1c = bVar3 | 5" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "*(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20);" (assignment_expression "*(int *)((int)&pOVar16->offset_ + 4) = (int)((ulonglong)lVar26 >> 0x20)" (pointer_expression "*(int *)((int)&pOVar16->offset_ + 4)" * (cast_expression "(int *)((int)&pOVar16->offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->offset_ + 4)" ( (binary_expression "(int)&pOVar16->offset_ + 4" (cast_expression "(int)&pOVar16->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->offset_" & (field_expression "pOVar16->offset_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((bVar3 & 2) == 0) {\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;\n          }" { (expression_statement "(*pOVar16->_vptr_Output_data[0xe])(pOVar16);" (call_expression "(*pOVar16->_vptr_Output_data[0xe])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[0xe])" ( (pointer_expression "*pOVar16->_vptr_Output_data[0xe]" * (subscript_expression "pOVar16->_vptr_Output_data[0xe]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier ))) ;) (if_statement "if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;" if (parenthesized_expression "((pOVar16->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 2)" ( (binary_expression "pOVar16->field_0x1c & 2" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f08bd;" goto statement_identifier ;)) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "((pOVar16->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 2)" ( (binary_expression "pOVar16->field_0x1c & 2" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) })) (expression_statement "piVar1 = (int *)((int)&pOVar16->data_size_ + 4);" (assignment_expression "piVar1 = (int *)((int)&pOVar16->data_size_ + 4)" identifier = (cast_expression "(int *)((int)&pOVar16->data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->data_size_ + 4)" ( (binary_expression "(int)&pOVar16->data_size_ + 4" (cast_expression "(int)&pOVar16->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->data_size_" & (field_expression "pOVar16->data_size_" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_);" (assignment_expression "uVar18 = (uint)((uint)oVar12 < (uint)pOVar16->data_size_)" identifier = (call_expression "(uint)((uint)oVar12 < (uint)pOVar16->data_size_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)oVar12 < (uint)pOVar16->data_size_)" ( (binary_expression "(uint)oVar12 < (uint)pOVar16->data_size_" (cast_expression "(uint)oVar12" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)pOVar16->data_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar16->data_size_" identifier -> field_identifier))) )))) ;) (expression_statement "iVar24 = iVar17 - *piVar1;" (assignment_expression "iVar24 = iVar17 - *piVar1" identifier = (binary_expression "iVar17 - *piVar1" identifier - (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "lVar7 = lVar26;" (assignment_expression "lVar7 = lVar26" identifier = identifier) ;) (if_statement "if ((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0) {\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }" if (parenthesized_expression "((SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0)" ( (binary_expression "(SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)) != (int)(iVar24 - uVar18) < 0" (parenthesized_expression "(SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18))" ( (binary_expression "SBORROW4(iVar17,*piVar1) != SBORROW4(iVar24,uVar18)" (call_expression "SBORROW4(iVar17,*piVar1)" identifier (argument_list "(iVar17,*piVar1)" ( identifier , (pointer_expression "*piVar1" * identifier) ))) != (call_expression "SBORROW4(iVar24,uVar18)" identifier (argument_list "(iVar24,uVar18)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar24 - uVar18) < 0" (cast_expression "(int)(iVar24 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar24 - uVar18)" ( (binary_expression "iVar24 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n            iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }\n            iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n            uVar28 = *(undefined4 *)(iVar21 + 0x20);\n            pcVar20 = "%s: section changed size; relink with --incremental-full";\n            goto LAB_000f07c4;\n          }" { (expression_statement "iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16);" (assignment_expression "iVar21 = (*pOVar16->_vptr_Output_data[9])(pOVar16)" identifier = (call_expression "(*pOVar16->_vptr_Output_data[9])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[9])" ( (pointer_expression "*pOVar16->_vptr_Output_data[9]" * (subscript_expression "pOVar16->_vptr_Output_data[9]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier )))) ;) (if_statement "if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x11f6,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x11f6,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (expression_statement "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);" (assignment_expression "iVar21 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[9])(*local_6c)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[9])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[9]" * (subscript_expression "(*local_6c)->_vptr_Output_data[9]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )))) ;) (expression_statement "uVar28 = *(undefined4 *)(iVar21 + 0x20);" (assignment_expression "uVar28 = *(undefined4 *)(iVar21 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar21 + 0x20)" * (cast_expression "(undefined4 *)(iVar21 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = "%s: section changed size; relink with --incremental-full";" (assignment_expression "pcVar20 = "%s: section changed size; relink with --incremental-full"" identifier = (string_literal ""%s: section changed size; relink with --incremental-full"" " string_content ")) ;) (goto_statement "goto LAB_000f07c4;" goto statement_identifier ;) })) }) (else_clause "else {\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }" else (compound_statement "{\n          if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }\n          if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }\n          if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }\n          pOVar16 = *local_6c;\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }\n          pOVar16->address_ = (lVar26 - lVar10) + addr;\n          pOVar16->field_0x1c = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          pOVar16->field_0x1c = bVar3 | 5;\n          pOVar16->offset_ = lVar7;\njoined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }\n        }" { (if_statement "if ((lVar26 != lVar7) && (bVar13 != 1)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }" if (parenthesized_expression "((lVar26 != lVar7) && (bVar13 != 1))" ( (binary_expression "(lVar26 != lVar7) && (bVar13 != 1)" (parenthesized_expression "(lVar26 != lVar7)" ( (binary_expression "lVar26 != lVar7" identifier != identifier) )) && (parenthesized_expression "(bVar13 != 1)" ( (binary_expression "bVar13 != 1" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x11df,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x11df,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (if_statement "if (local_54._4_4_ != 0 || (int)local_54 != 0) {\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }" if (parenthesized_expression "(local_54._4_4_ != 0 || (int)local_54 != 0)" ( (binary_expression "local_54._4_4_ != 0 || (int)local_54 != 0" (binary_expression "local_54._4_4_ != 0" (field_expression "local_54._4_4_" identifier . field_identifier) != number_literal) || (binary_expression "(int)local_54 != 0" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal)) )) (compound_statement "{\n            lVar26 = lVar26 + -1 + local_54;\n            lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);\n          }" { (expression_statement "lVar26 = lVar26 + -1 + local_54;" (assignment_expression "lVar26 = lVar26 + -1 + local_54" identifier = (binary_expression "lVar26 + -1 + local_54" (binary_expression "lVar26 + -1" identifier + number_literal) + identifier)) ;) (expression_statement "lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26);" (assignment_expression "lVar26 = CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26)" identifier = (call_expression "CONCAT44(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26)" identifier (argument_list "(-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20),-(int)local_54 & (uint)lVar26)" ( (binary_expression "-(local_54._4_4_ + (uint)((int)local_54 != 0)) &\n                              (uint)((ulonglong)lVar26 >> 0x20)" (unary_expression "-(local_54._4_4_ + (uint)((int)local_54 != 0))" - (parenthesized_expression "(local_54._4_4_ + (uint)((int)local_54 != 0))" ( (binary_expression "local_54._4_4_ + (uint)((int)local_54 != 0)" (field_expression "local_54._4_4_" identifier . field_identifier) + (call_expression "(uint)((int)local_54 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_54 != 0)" ( (binary_expression "(int)local_54 != 0" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) ))) & (call_expression "(uint)((ulonglong)lVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "-(int)local_54 & (uint)lVar26" (unary_expression "-(int)local_54" - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)lVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (if_statement "if ((bVar13 != 1) || (cVar14 != '\0')) {\n            lVar7 = lVar26;\n          }" if (parenthesized_expression "((bVar13 != 1) || (cVar14 != '\0'))" ( (binary_expression "(bVar13 != 1) || (cVar14 != '\0')" (parenthesized_expression "(bVar13 != 1)" ( (binary_expression "bVar13 != 1" identifier != number_literal) )) || (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            lVar7 = lVar26;\n          }" { (expression_statement "lVar7 = lVar26;" (assignment_expression "lVar7 = lVar26" identifier = identifier) ;) })) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "bVar3 = pOVar16->field_0x1c;" (assignment_expression "bVar3 = pOVar16->field_0x1c" identifier = (field_expression "pOVar16->field_0x1c" identifier -> field_identifier)) ;) (if_statement "if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n          }" { (labeled_statement "LAB_000f089e:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x142,"set_address");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x142,"set_address");" (call_expression "do_gold_unreachable("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;)) })) (expression_statement "pOVar16->address_ = (lVar26 - lVar10) + addr;" (assignment_expression "pOVar16->address_ = (lVar26 - lVar10) + addr" (field_expression "pOVar16->address_" identifier -> field_identifier) = (binary_expression "(lVar26 - lVar10) + addr" (parenthesized_expression "(lVar26 - lVar10)" ( (binary_expression "lVar26 - lVar10" identifier - identifier) )) + identifier)) ;) (expression_statement "pOVar16->field_0x1c = bVar3 | 1;" (assignment_expression "pOVar16->field_0x1c = bVar3 | 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "pOVar16->field_0x1c = bVar3 | 5;" (assignment_expression "pOVar16->field_0x1c = bVar3 | 5" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "pOVar16->offset_ = lVar7;" (assignment_expression "pOVar16->offset_ = lVar7" (field_expression "pOVar16->offset_" identifier -> field_identifier) = identifier) ;) (labeled_statement "joined_r0x000f0642:\n          if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }" statement_identifier : (if_statement "if (((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }" if (parenthesized_expression "(((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0))" ( (binary_expression "((bVar3 & 2) == 0) &&\n             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)" (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)" ( (comma_expression "(*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0" (call_expression "(*pOVar16->_vptr_Output_data[0xe])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[0xe])" ( (pointer_expression "*pOVar16->_vptr_Output_data[0xe]" * (subscript_expression "pOVar16->_vptr_Output_data[0xe]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier ))) , (binary_expression "(pOVar16->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 2)" ( (binary_expression "pOVar16->field_0x1c & 2" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\nLAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n          }" { (labeled_statement "LAB_000f08bd:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) }))) }))) }) (else_clause "else {\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }" else (compound_statement "{\n        bVar15 = Parameters::incremental_update(parameters);\n        if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }\n        if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        poVar2 = &(*local_6c)->offset_;\n        lVar26 = *poVar2;\n        lVar7 = *poVar2;\n      }" { (ERROR "bVar15 = Parameters::" (assignment_expression "bVar15 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (!bVar15) {\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n          pOVar16 = *local_6c;\n          if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }\n          uVar23 = *(uint *)((int)&pOVar16->address_ + 4);\n          lVar9 = (lVar26 - lVar8) + addr;\n          uVar19 = (uint)lVar9;\n          uVar22 = (uint)((ulonglong)lVar9 >> 0x20);\n          if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }\n          bVar3 = pOVar16->field_0x1c;\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          pOVar16->field_0x1c = bVar3 | 4;\n          pOVar16->offset_ = lVar7;\n          goto joined_r0x000f0642;\n        }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 1) == 0) {\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }" if (parenthesized_expression "((pOVar16->field_0x1c & 1) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 1) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 1)" ( (binary_expression "pOVar16->field_0x1c & 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");\n          }" { (labeled_statement "LAB_000f0977:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "uVar23 = *(uint *)((int)&pOVar16->address_ + 4);" (assignment_expression "uVar23 = *(uint *)((int)&pOVar16->address_ + 4)" identifier = (pointer_expression "*(uint *)((int)&pOVar16->address_ + 4)" * (cast_expression "(uint *)((int)&pOVar16->address_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->address_ + 4)" ( (binary_expression "(int)&pOVar16->address_ + 4" (cast_expression "(int)&pOVar16->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->address_" & (field_expression "pOVar16->address_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "lVar9 = (lVar26 - lVar8) + addr;" (assignment_expression "lVar9 = (lVar26 - lVar8) + addr" identifier = (binary_expression "(lVar26 - lVar8) + addr" (parenthesized_expression "(lVar26 - lVar8)" ( (binary_expression "lVar26 - lVar8" identifier - identifier) )) + identifier)) ;) (expression_statement "uVar19 = (uint)lVar9;" (assignment_expression "uVar19 = (uint)lVar9" identifier = (cast_expression "(uint)lVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = (uint)((ulonglong)lVar9 >> 0x20);" (assignment_expression "uVar22 = (uint)((ulonglong)lVar9 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar9 >> 0x20)" ( (binary_expression "(ulonglong)lVar9 >> 0x20" (cast_expression "(ulonglong)lVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)) {\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }\n          else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }" if (parenthesized_expression "(uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19))" ( (binary_expression "uVar23 < uVar22 || uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)" (binary_expression "uVar23 < uVar22" identifier < identifier) || (binary_expression "uVar23 - uVar22 < (uint)((uint)pOVar16->address_ < uVar19)" (binary_expression "uVar23 - uVar22" identifier - identifier) < (call_expression "(uint)((uint)pOVar16->address_ < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)pOVar16->address_ < uVar19)" ( (binary_expression "(uint)pOVar16->address_ < uVar19" (cast_expression "(uint)pOVar16->address_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar16->address_" identifier -> field_identifier)) < identifier) ))))) )) (compound_statement "{\n            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }\n            iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar27 = (undefined4)pOVar16->address_;\n            uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);\n            if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }\n            gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);\n            pOVar16 = *local_6c;\n          }" { (if_statement "if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }" if (parenthesized_expression "((layout->script_options_->script_sections_).saw_sections_clause_ == false)" ( (binary_expression "(layout->script_options_->script_sections_).saw_sections_clause_ == false" (field_expression "(layout->script_options_->script_sections_).saw_sections_clause_" (parenthesized_expression "(layout->script_options_->script_sections_)" ( (field_expression "layout->script_options_->script_sections_" (field_expression "layout->script_options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x1215,"set_section_list_addresses")" identifier (argument_list "("../../gold/output.cc",0x1215,"set_section_list_addresses")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""set_section_list_addresses"" " string_content ") ))) ;) })) (expression_statement "iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);" (assignment_expression "iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16)" identifier = (call_expression "(*pOVar16->_vptr_Output_data[9])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[9])" ( (pointer_expression "*pOVar16->_vptr_Output_data[9]" * (subscript_expression "pOVar16->_vptr_Output_data[9]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier )))) ;) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "((pOVar16->field_0x1c & 1) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 1) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 1)" ( (binary_expression "pOVar16->field_0x1c & 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "uVar27 = (undefined4)pOVar16->address_;" (assignment_expression "uVar27 = (undefined4)pOVar16->address_" identifier = (cast_expression "(undefined4)pOVar16->address_" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "pOVar16->address_" identifier -> field_identifier))) ;) (expression_statement "uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4);" (assignment_expression "uVar5 = *(undefined4 *)((int)&pOVar16->address_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&pOVar16->address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar16->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->address_ + 4)" ( (binary_expression "(int)&pOVar16->address_ + 4" (cast_expression "(int)&pOVar16->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->address_" & (field_expression "pOVar16->address_" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar17 == 0) {\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }\n            else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;\n              lVar9 = CONCAT44(uVar27,uVar22);\n              uVar27 = uVar5;\n            }" { (expression_statement "pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")\n              ;" (assignment_expression "pcVar20 = (char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")" identifier = (cast_expression "(char *)gettext("dot moves backward in linker script from 0x%llx to 0x%llx")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("dot moves backward in linker script from 0x%llx to 0x%llx")" identifier (argument_list "("dot moves backward in linker script from 0x%llx to 0x%llx")" ( (string_literal ""dot moves backward in linker script from 0x%llx to 0x%llx"" " string_content ") ))))) ;) (expression_statement "lVar9 = CONCAT44(uVar27,uVar22);" (assignment_expression "lVar9 = CONCAT44(uVar27,uVar22)" identifier = (call_expression "CONCAT44(uVar27,uVar22)" identifier (argument_list "(uVar27,uVar22)" ( identifier , identifier )))) ;) (expression_statement "uVar27 = uVar5;" (assignment_expression "uVar27 = uVar5" identifier = identifier) ;) }) (else_clause "else {\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }" else (compound_statement "{\n              uVar19 = *(uint *)(iVar17 + 0x20);\n              pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );\n              uVar28 = uVar5;\n            }" { (expression_statement "uVar19 = *(uint *)(iVar17 + 0x20);" (assignment_expression "uVar19 = *(uint *)(iVar17 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar17 + 0x20)" * (cast_expression "(uint *)(iVar17 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x20)" ( (binary_expression "iVar17 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       );" (assignment_expression "pcVar20 = (char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       )" identifier = (cast_expression "(char *)gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       )" identifier (argument_list "(\n                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"\n                                       )" ( (string_literal ""address of section \'%s\' moves backward from 0x%llx to 0x%llx"" " string_content escape_sequence string_content escape_sequence string_content ") ))))) ;) (expression_statement "uVar28 = uVar5;" (assignment_expression "uVar28 = uVar5" identifier = identifier) ;) }))) (expression_statement "gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28);" (call_expression "gold_error(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28)" identifier (argument_list "(pcVar20,uVar19,(int)lVar9,(int)((ulonglong)lVar9 >> 0x20),uVar27,uVar28)" ( identifier , identifier , (cast_expression "(int)lVar9" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)((ulonglong)lVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar9 >> 0x20)" ( (binary_expression "(ulonglong)lVar9 >> 0x20" (cast_expression "(ulonglong)lVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier ))) ;) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) }) (else_clause "else if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }" else (if_statement "if (((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)) {\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }\n          else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }" if (parenthesized_expression "(((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0))" ( (binary_expression "((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0) ||\n                  ((bVar13 ^ 1) == 0)" (parenthesized_expression "((SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0)" ( (binary_expression "(SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))) ==\n                    (int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0" (parenthesized_expression "(SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18)))" ( (binary_expression "SBORROW4(local_5c,iVar24) !=\n                    SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))" (call_expression "SBORROW4(local_5c,iVar24)" identifier (argument_list "(local_5c,iVar24)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_5c - iVar24,(uint)(local_64 < uVar18))" identifier (argument_list "(local_5c - iVar24,(uint)(local_64 < uVar18))" ( (binary_expression "local_5c - iVar24" identifier - identifier) , (call_expression "(uint)(local_64 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 < uVar18)" ( (binary_expression "local_64 < uVar18" identifier < identifier) ))) )))) )) == (binary_expression "(int)((local_5c - iVar24) - (uint)(local_64 < uVar18)) < 0" (cast_expression "(int)((local_5c - iVar24) - (uint)(local_64 < uVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_5c - iVar24) - (uint)(local_64 < uVar18))" ( (binary_expression "(local_5c - iVar24) - (uint)(local_64 < uVar18)" (parenthesized_expression "(local_5c - iVar24)" ( (binary_expression "local_5c - iVar24" identifier - identifier) )) - (call_expression "(uint)(local_64 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 < uVar18)" ( (binary_expression "local_64 < uVar18" identifier < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((bVar13 ^ 1) == 0)" ( (binary_expression "(bVar13 ^ 1) == 0" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) == number_literal) ))) )) (compound_statement "{\n            lVar26 = lVar26 + pOVar16->address_;\n            lVar6 = lVar26 - lVar9;\n            if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }\n          }" { (expression_statement "lVar26 = lVar26 + pOVar16->address_;" (assignment_expression "lVar26 = lVar26 + pOVar16->address_" identifier = (binary_expression "lVar26 + pOVar16->address_" identifier + (field_expression "pOVar16->address_" identifier -> field_identifier))) ;) (expression_statement "lVar6 = lVar26 - lVar9;" (assignment_expression "lVar6 = lVar26 - lVar9" identifier = (binary_expression "lVar26 - lVar9" identifier - identifier)) ;) (if_statement "if (((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')) {\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }" if (parenthesized_expression "(((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0'))" ( (binary_expression "((bVar13 ^ 1) != 0) || (lVar26 = lVar26 - lVar9, cVar14 != '\0')" (parenthesized_expression "((bVar13 ^ 1) != 0)" ( (binary_expression "(bVar13 ^ 1) != 0" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) != number_literal) )) || (parenthesized_expression "(lVar26 = lVar26 - lVar9, cVar14 != '\0')" ( (comma_expression "lVar26 = lVar26 - lVar9, cVar14 != '\0'" (assignment_expression "lVar26 = lVar26 - lVar9" identifier = (binary_expression "lVar26 - lVar9" identifier - identifier)) , (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n              lVar26 = lVar6;\n              lVar7 = lVar6;\n            }" { (expression_statement "lVar26 = lVar6;" (assignment_expression "lVar26 = lVar6" identifier = identifier) ;) (expression_statement "lVar7 = lVar6;" (assignment_expression "lVar7 = lVar6" identifier = identifier) ;) })) }) (else_clause "else {\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }" else (compound_statement "{\n            pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );\n            gold_warning(pcVar20);\n            pOVar16 = *local_6c;\n            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;\n            uVar23 = uVar18 + (int)pOVar16->address_;\n            lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);\n            lVar7 = lVar26;\n          }" { (expression_statement "pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     );" (assignment_expression "pcVar20 = (char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     )" identifier = (cast_expression "(char *)gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     )" identifier (argument_list "(\n                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"\n                                     )" ( (string_literal ""script places BSS section in the middle of a LOAD segment; space will be allocated in the file"" " string_content ") ))))) ;) (expression_statement "gold_warning(pcVar20);" (call_expression "gold_warning(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "((pOVar16->field_0x1c & 1) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 1) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 1)" ( (binary_expression "pOVar16->field_0x1c & 1" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "uVar23 = uVar18 + (int)pOVar16->address_;" (assignment_expression "uVar23 = uVar18 + (int)pOVar16->address_" identifier = (binary_expression "uVar18 + (int)pOVar16->address_" identifier + (cast_expression "(int)pOVar16->address_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar16->address_" identifier -> field_identifier)))) ;) (expression_statement "lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19);" (assignment_expression "lVar26 = CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19)" identifier = (call_expression "CONCAT44(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19)" identifier (argument_list "(((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19),uVar23 - uVar19)" ( (binary_expression "((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22) -\n                              (uint)(uVar23 < uVar19)" (parenthesized_expression "((iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22)" ( (binary_expression "(iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)) - uVar22" (parenthesized_expression "(iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_))" ( (binary_expression "iVar24 + *(int *)((int)&pOVar16->address_ + 4) +\n                               (uint)CARRY4(uVar18,(uint)pOVar16->address_)" (binary_expression "iVar24 + *(int *)((int)&pOVar16->address_ + 4)" identifier + (pointer_expression "*(int *)((int)&pOVar16->address_ + 4)" * (cast_expression "(int *)((int)&pOVar16->address_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->address_ + 4)" ( (binary_expression "(int)&pOVar16->address_ + 4" (cast_expression "(int)&pOVar16->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->address_" & (field_expression "pOVar16->address_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar18,(uint)pOVar16->address_)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,(uint)pOVar16->address_)" identifier (argument_list "(uVar18,(uint)pOVar16->address_)" ( identifier , (cast_expression "(uint)pOVar16->address_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar16->address_" identifier -> field_identifier)) ))))) )) - identifier) )) - (call_expression "(uint)(uVar23 < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < uVar19)" ( (binary_expression "uVar23 < uVar19" identifier < identifier) )))) , (binary_expression "uVar23 - uVar19" identifier - identifier) )))) ;) (expression_statement "lVar7 = lVar26;" (assignment_expression "lVar7 = lVar26" identifier = identifier) ;) }))))) (expression_statement "bVar3 = pOVar16->field_0x1c;" (assignment_expression "bVar3 = pOVar16->field_0x1c" identifier = (field_expression "pOVar16->field_0x1c" identifier -> field_identifier)) ;) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }" { (labeled_statement "LAB_000f087f:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "pOVar16->field_0x1c = bVar3 | 4;" (assignment_expression "pOVar16->field_0x1c = bVar3 | 4" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar3 | 4" identifier | number_literal)) ;) (expression_statement "pOVar16->offset_ = lVar7;" (assignment_expression "pOVar16->offset_ = lVar7" (field_expression "pOVar16->offset_" identifier -> field_identifier) = identifier) ;) (goto_statement "goto joined_r0x000f0642;" goto statement_identifier ;) })) (if_statement "if (((*local_6c)->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }" if (parenthesized_expression "(((*local_6c)->field_0x1c & 4) == 0)" ( (binary_expression "((*local_6c)->field_0x1c & 4) == 0" (parenthesized_expression "((*local_6c)->field_0x1c & 4)" ( (binary_expression "(*local_6c)->field_0x1c & 4" (field_expression "(*local_6c)->field_0x1c" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "poVar2 = &(*local_6c)->offset_;" (assignment_expression "poVar2 = &(*local_6c)->offset_" identifier = (pointer_expression "&(*local_6c)->offset_" & (field_expression "(*local_6c)->offset_" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier))) ;) (expression_statement "lVar26 = *poVar2;" (assignment_expression "lVar26 = *poVar2" identifier = (pointer_expression "*poVar2" * identifier)) ;) (expression_statement "lVar7 = *poVar2;" (assignment_expression "lVar7 = *poVar2" identifier = (pointer_expression "*poVar2" * identifier)) ;) }))) (expression_statement "uVar18 = (uint)lVar26;" (assignment_expression "uVar18 = (uint)lVar26" identifier = (cast_expression "(uint)lVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (ERROR "bVar15 = Parameters::" (assignment_expression "bVar15 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (bVar15) {\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }\n      else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n        pOVar16 = *local_6c;\n        if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;\n        this_00 = parameters->errors_;\n        iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);\n        pcVar20 = "(special)";\n        if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }\n        if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;\n        Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);\n        pOVar16 = *local_6c;\n        if (cVar14 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }\n        lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);\n        if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }\n      }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))\n        goto LAB_000f0095;" if (parenthesized_expression "((parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 0))" ( (binary_expression "(parameters->options_ == (General_options *)0x0) || ((parameters->debug_ & 0x10) == 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_ & 0x10) == 0)" ( (binary_expression "(parameters->debug_ & 0x10) == 0" (parenthesized_expression "(parameters->debug_ & 0x10)" ( (binary_expression "parameters->debug_ & 0x10" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000f0095;" goto statement_identifier ;)) (expression_statement "this_00 = parameters->errors_;" (assignment_expression "this_00 = parameters->errors_" identifier = (field_expression "parameters->errors_" identifier -> field_identifier)) ;) (expression_statement "iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16);" (assignment_expression "iVar17 = (*pOVar16->_vptr_Output_data[9])(pOVar16)" identifier = (call_expression "(*pOVar16->_vptr_Output_data[9])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[9])" ( (pointer_expression "*pOVar16->_vptr_Output_data[9]" * (subscript_expression "pOVar16->_vptr_Output_data[9]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier )))) ;) (expression_statement "pcVar20 = "(special)";" (assignment_expression "pcVar20 = "(special)"" identifier = (string_literal ""(special)"" " string_content ")) ;) (if_statement "if (iVar17 != 0) {\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);\n          pcVar20 = *(char **)(iVar17 + 0x20);\n        }" { (expression_statement "iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c);" (assignment_expression "iVar17 = (*(*local_6c)->_vptr_Output_data[9])(*local_6c)" identifier = (call_expression "(*(*local_6c)->_vptr_Output_data[9])(*local_6c)" (parenthesized_expression "(*(*local_6c)->_vptr_Output_data[9])" ( (pointer_expression "*(*local_6c)->_vptr_Output_data[9]" * (subscript_expression "(*local_6c)->_vptr_Output_data[9]" (field_expression "(*local_6c)->_vptr_Output_data" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )))) ;) (expression_statement "pcVar20 = *(char **)(iVar17 + 0x20);" (assignment_expression "pcVar20 = *(char **)(iVar17 + 0x20)" identifier = (pointer_expression "*(char **)(iVar17 + 0x20)" * (cast_expression "(char **)(iVar17 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x20)" ( (binary_expression "iVar17 + 0x20" identifier + number_literal) ))))) ;) })) (if_statement "if (((*local_6c)->field_0x1c & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "(((*local_6c)->field_0x1c & 2) == 0)" ( (binary_expression "((*local_6c)->field_0x1c & 2) == 0" (parenthesized_expression "((*local_6c)->field_0x1c & 2)" ( (binary_expression "(*local_6c)->field_0x1c & 2" (field_expression "(*local_6c)->field_0x1c" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) (labeled_statement "Errors::debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);" statement_identifier : (ERROR ":" :) (expression_statement "debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20);" (call_expression "debug(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20)" identifier (argument_list "(this_00,"set_section_list_addresses: %08lx %08lx %s",uVar18,\n                      (int)(*local_6c)->data_size_,pcVar20)" ( identifier , (string_literal ""set_section_list_addresses: %08lx %08lx %s"" " string_content ") , identifier , (cast_expression "(int)(*local_6c)->data_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "(*local_6c)->data_size_" (parenthesized_expression "(*local_6c)" ( (pointer_expression "*local_6c" * identifier) )) -> field_identifier)) , identifier ))) ;)) (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if (cVar14 != '\0') goto LAB_000f00a0;" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f00a0;" goto statement_identifier ;)) (labeled_statement "LAB_000f03a0:\n        if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }" statement_identifier : (if_statement "if ((pOVar16->field_0x1c & 2) == 0) {\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }" if (parenthesized_expression "((pOVar16->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar16->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar16->field_0x1c & 2)" ( (binary_expression "pOVar16->field_0x1c & 2" (field_expression "pOVar16->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n        }" { (labeled_statement "LAB_000f0860:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) }))) (expression_statement "lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_);" (assignment_expression "lVar26 = CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_)" identifier = (call_expression "CONCAT44((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_)" identifier (argument_list "((int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_),\n                          uVar18 + (int)pOVar16->data_size_)" ( (binary_expression "(int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)\n                          + (uint)CARRY4(uVar18,(uint)pOVar16->data_size_)" (binary_expression "(int)((ulonglong)lVar26 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)" (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (pointer_expression "*(int *)((int)&pOVar16->data_size_ + 4)" * (cast_expression "(int *)((int)&pOVar16->data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar16->data_size_ + 4)" ( (binary_expression "(int)&pOVar16->data_size_ + 4" (cast_expression "(int)&pOVar16->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar16->data_size_" & (field_expression "pOVar16->data_size_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar18,(uint)pOVar16->data_size_)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,(uint)pOVar16->data_size_)" identifier (argument_list "(uVar18,(uint)pOVar16->data_size_)" ( identifier , (cast_expression "(uint)pOVar16->data_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar16->data_size_" identifier -> field_identifier)) ))))) , (binary_expression "uVar18 + (int)pOVar16->data_size_" identifier + (cast_expression "(int)pOVar16->data_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar16->data_size_" identifier -> field_identifier))) )))) ;) (if_statement "if (bVar13 == 0) {\n          lVar7 = lVar26;\n        }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          lVar7 = lVar26;\n        }" { (expression_statement "lVar7 = lVar26;" (assignment_expression "lVar7 = lVar26" identifier = identifier) ;) })) }) (else_clause "else {\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }" else (compound_statement "{\n        pOVar16 = *local_6c;\nLAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;\n      }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (labeled_statement "LAB_000f0095:\n        if (cVar14 == '\0') goto LAB_000f03a0;" statement_identifier : (if_statement "if (cVar14 == '\0') goto LAB_000f03a0;" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;))) (labeled_statement "LAB_000f00a0:\n        if (bVar13 == 0) goto LAB_000f03a0;" statement_identifier : (if_statement "if (bVar13 == 0) goto LAB_000f03a0;" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;))) }))) (expression_statement "iVar17 = (int)((ulonglong)lVar26 >> 0x20);" (assignment_expression "iVar17 = (int)((ulonglong)lVar26 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)((uint)local_4c < (uint)lVar26);" (assignment_expression "uVar18 = (uint)((uint)local_4c < (uint)lVar26)" identifier = (call_expression "(uint)((uint)local_4c < (uint)lVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_4c < (uint)lVar26)" ( (binary_expression "(uint)local_4c < (uint)lVar26" (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)lVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "bVar15 = SBORROW4(local_4c._4_4_,iVar17);" (assignment_expression "bVar15 = SBORROW4(local_4c._4_4_,iVar17)" identifier = (call_expression "SBORROW4(local_4c._4_4_,iVar17)" identifier (argument_list "(local_4c._4_4_,iVar17)" ( (field_expression "local_4c._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "iVar17 = local_4c._4_4_ - iVar17;" (assignment_expression "iVar17 = local_4c._4_4_ - iVar17" identifier = (binary_expression "local_4c._4_4_ - iVar17" (field_expression "local_4c._4_4_" identifier . field_identifier) - identifier)) ;) (if_statement "if ((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0) {\n        local_4c = lVar26;\n      }" if (parenthesized_expression "((bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0)" ( (binary_expression "(bVar15 != SBORROW4(iVar17,uVar18)) != (int)(iVar17 - uVar18) < 0" (parenthesized_expression "(bVar15 != SBORROW4(iVar17,uVar18))" ( (binary_expression "bVar15 != SBORROW4(iVar17,uVar18)" identifier != (call_expression "SBORROW4(iVar17,uVar18)" identifier (argument_list "(iVar17,uVar18)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar17 - uVar18) < 0" (cast_expression "(int)(iVar17 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar17 - uVar18)" ( (binary_expression "iVar17 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        local_4c = lVar26;\n      }" { (expression_statement "local_4c = lVar26;" (assignment_expression "local_4c = lVar26" identifier = identifier) ;) })) (expression_statement "iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16);" (assignment_expression "iVar17 = (*pOVar16->_vptr_Output_data[6])(pOVar16)" identifier = (call_expression "(*pOVar16->_vptr_Output_data[6])(pOVar16)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[6])" ( (pointer_expression "*pOVar16->_vptr_Output_data[6]" * (subscript_expression "pOVar16->_vptr_Output_data[6]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16)" ( identifier )))) ;) (if_statement "if ((char)iVar17 != '\0') {\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }" if (parenthesized_expression "((char)iVar17 != '\0')" ( (binary_expression "(char)iVar17 != '\0'" (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pOVar16 = *local_6c;\n        pp_Var4 = (_func_int_varargs **)*pshndx;\n        if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }\n        *pshndx = *pshndx + 1;\n      }" { (expression_statement "pOVar16 = *local_6c;" (assignment_expression "pOVar16 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "pp_Var4 = (_func_int_varargs **)*pshndx;" (assignment_expression "pp_Var4 = (_func_int_varargs **)*pshndx" identifier = (cast_expression "(_func_int_varargs **)*pshndx" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*pshndx" * identifier))) ;) (if_statement "if (pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx) {\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }\n        else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }" if (parenthesized_expression "(pOVar16->_vptr_Output_data[0xc] == Output_section::do_set_out_shndx)" ( (binary_expression "pOVar16->_vptr_Output_data[0xc] == Output_section" (subscript_expression "pOVar16->_vptr_Output_data[0xc]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_set_out_shndx" : : identifier) )) (compound_statement "{\n          if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }\n          pOVar16[3]._vptr_Output_data = pp_Var4;\n        }" { (if_statement "if ((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }" if (parenthesized_expression "((pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff))" ( (binary_expression "(pp_Var4 != pOVar16[3]._vptr_Output_data) &&\n             (pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)" (parenthesized_expression "(pp_Var4 != pOVar16[3]._vptr_Output_data)" ( (binary_expression "pp_Var4 != pOVar16[3]._vptr_Output_data" identifier != (field_expression "pOVar16[3]._vptr_Output_data" (subscript_expression "pOVar16[3]" identifier [ number_literal ]) . field_identifier)) )) && (parenthesized_expression "(pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff)" ( (binary_expression "pOVar16[3]._vptr_Output_data != (_func_int_varargs **)0xffffffff" (field_expression "pOVar16[3]._vptr_Output_data" (subscript_expression "pOVar16[3]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx");" (call_expression "do_gold_unreachable("../../gold/output.h",0x104b,"do_set_out_shndx")" identifier (argument_list "("../../gold/output.h",0x104b,"do_set_out_shndx")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""do_set_out_shndx"" " string_content ") ))) ;) })) (expression_statement "pOVar16[3]._vptr_Output_data = pp_Var4;" (assignment_expression "pOVar16[3]._vptr_Output_data = pp_Var4" (field_expression "pOVar16[3]._vptr_Output_data" (subscript_expression "pOVar16[3]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }) (else_clause "else {\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }" else (compound_statement "{\n          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);\n        }" { (expression_statement "(*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4);" (call_expression "(*pOVar16->_vptr_Output_data[0xc])(pOVar16,pp_Var4)" (parenthesized_expression "(*pOVar16->_vptr_Output_data[0xc])" ( (pointer_expression "*pOVar16->_vptr_Output_data[0xc]" * (subscript_expression "pOVar16->_vptr_Output_data[0xc]" (field_expression "pOVar16->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar16,pp_Var4)" ( identifier , identifier ))) ;) }))) (expression_statement "*pshndx = *pshndx + 1;" (assignment_expression "*pshndx = *pshndx + 1" (pointer_expression "*pshndx" * identifier) = (binary_expression "*pshndx + 1" (pointer_expression "*pshndx" * identifier) + number_literal)) ;) })) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c)" ( (binary_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish != local_6c" (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl._M_finish" (field_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>).\n             _M_impl" (parenthesized_expression "(pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>)" ( (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "pdl->super__Vector_base<gold::Output_data*,_std" (binary_expression "pdl->super__Vector_base<gold" (field_expression "pdl->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) != identifier) )) ;) (expression_statement "addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11);" (assignment_expression "addr = addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11)" identifier = (binary_expression "addr + CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11)" identifier + (call_expression "CONCAT44((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11)" identifier (argument_list "((local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11),\n                           (uint)local_4c - (uint)oVar11)" ( (binary_expression "(local_4c._4_4_ - iVar21) - (uint)((uint)local_4c < (uint)oVar11)" (parenthesized_expression "(local_4c._4_4_ - iVar21)" ( (binary_expression "local_4c._4_4_ - iVar21" (field_expression "local_4c._4_4_" identifier . field_identifier) - identifier) )) - (call_expression "(uint)((uint)local_4c < (uint)oVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_4c < (uint)oVar11)" ( (binary_expression "(uint)local_4c < (uint)oVar11" (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)oVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_4c - (uint)oVar11" (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)oVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "lVar6 = local_4c;" (assignment_expression "lVar6 = local_4c" identifier = identifier) ;) (expression_statement "lVar9 = lVar7;" (assignment_expression "lVar9 = lVar7" identifier = identifier) ;) })) (expression_statement "local_4c = lVar6;" (assignment_expression "local_4c = lVar6" identifier = identifier) ;) (expression_statement "*(uint *)poff = (uint)local_4c;" (assignment_expression "*(uint *)poff = (uint)local_4c" (pointer_expression "*(uint *)poff" * (cast_expression "(uint *)poff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(int *)((int)poff + 4) = local_4c._4_4_;" (assignment_expression "*(int *)((int)poff + 4) = local_4c._4_4_" (pointer_expression "*(int *)((int)poff + 4)" * (cast_expression "(int *)((int)poff + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)poff + 4)" ( (binary_expression "(int)poff + 4" (cast_expression "(int)poff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_4c._4_4_" identifier . field_identifier)) ;) (expression_statement "*pfoff = lVar9;" (assignment_expression "*pfoff = lVar9" (pointer_expression "*pfoff" * identifier) = identifier) ;) (return_statement "return addr;" return identifier ;) })))
(translation_unit "longlong FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)\n\n{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}\n\n" (function_definition "longlong FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)\n\n{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" type_identifier (function_declarator "FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" identifier (parameter_list "(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "char param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int *param_8" primitive_type (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "int *param_9" primitive_type (pointer_declarator "*param_9" * identifier)) , (parameter_declaration "char *param_10" primitive_type (pointer_declarator "*param_10" * identifier)) ))) (compound_statement "{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" { (declaration "longlong *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "undefined ***pppuVar2;" type_identifier (pointer_declarator "***pppuVar2" * (pointer_declarator "**pppuVar2" * (pointer_declarator "*pppuVar2" * identifier))) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "longlong lVar7;" type_identifier identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "ulonglong uVar9;" type_identifier identifier ;) (declaration "ulonglong uVar10;" type_identifier identifier ;) (declaration "char cVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "undefined **ppuVar16;" type_identifier (pointer_declarator "**ppuVar16" * (pointer_declarator "*ppuVar16" * identifier)) ;) (declaration "undefined ***pppuVar17;" type_identifier (pointer_declarator "***pppuVar17" * (pointer_declarator "**pppuVar17" * (pointer_declarator "*pppuVar17" * identifier))) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" type_identifier identifier ;) (declaration "undefined **local_7c [2];" type_identifier (pointer_declarator "**local_7c [2]" * (pointer_declarator "*local_7c [2]" * (array_declarator "local_7c [2]" identifier [ number_literal ]))) ;) (declaration "undefined **appuStack_74 [7];" type_identifier (pointer_declarator "**appuStack_74 [7]" * (pointer_declarator "*appuStack_74 [7]" * (array_declarator "appuStack_74 [7]" identifier [ number_literal ]))) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_54;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined **local_44;" type_identifier (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier)) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "char local_33;" primitive_type identifier ;) (declaration "byte local_32;" type_identifier identifier ;) (declaration "char local_31;" primitive_type identifier ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined8 local_2c;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "lVar24 = CONCAT44(param_6,param_5);" (assignment_expression "lVar24 = CONCAT44(param_6,param_5)" identifier = (call_expression "CONCAT44(param_6,param_5)" identifier (argument_list "(param_6,param_5)" ( identifier , identifier )))) ;) (expression_statement "uStack_14 = 0xefff9;" (assignment_expression "uStack_14 = 0xefff9" identifier = number_literal) ;) (expression_statement "appuStack_74[3] = &__DT_PLTGOT;" (assignment_expression "appuStack_74[3] = &__DT_PLTGOT" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "pppuVar17 = appuStack_74 + 2;" (assignment_expression "pppuVar17 = appuStack_74 + 2" identifier = (binary_expression "appuStack_74 + 2" identifier + number_literal)) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "local_31 = param_3;" (assignment_expression "local_31 = param_3" identifier = identifier) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "local_44 = (undefined **)*param_7;" (assignment_expression "local_44 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "local_40 = param_7[1];" (assignment_expression "local_40 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "lVar23 = *(longlong *)param_7;" (assignment_expression "lVar23 = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_4c = *(longlong *)param_7;" (assignment_expression "local_4c = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "lVar6 = *(longlong *)param_7;" (assignment_expression "lVar6 = *(longlong *)param_7" identifier = (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "appuStack_74[4] = (undefined **)*param_8;" (assignment_expression "appuStack_74[4] = (undefined **)*param_8" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_8" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "appuStack_74[6] = (undefined **)param_8[1];" (assignment_expression "appuStack_74[6] = (undefined **)param_8[1]" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)param_8[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_8[1]" identifier [ number_literal ]))) ;) (expression_statement "appuStack_74[2] = (undefined **)*param_4;" (assignment_expression "appuStack_74[2] = (undefined **)*param_4" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" if (parenthesized_expression "(appuStack_74[2] != (undefined **)param_4[1])" ( (binary_expression "appuStack_74[2] != (undefined **)param_4[1]" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) != (cast_expression "(undefined **)param_4[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" { (expression_statement "local_30 = &DAT_0038f378;" (assignment_expression "local_30 = &DAT_0038f378" identifier = (pointer_expression "&DAT_0038f378" & identifier)) ;) (expression_statement "local_24 = local_30;" (assignment_expression "local_24 = local_30" identifier = identifier) ;) (do_statement "do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);" do (compound_statement "{\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    }" { (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar19 = (undefined *)lVar6;" (assignment_expression "puVar19 = (undefined *)lVar6" identifier = (cast_expression "(undefined *)lVar6" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "local_7c[1] = (undefined **)0x8;" (assignment_expression "local_7c[1] = (undefined **)0x8" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x8" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_32 = (**(code **)(*local_7c[0] + 0x1c))();" (assignment_expression "local_32 = (**(code **)(*local_7c[0] + 0x1c))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x1c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x1c))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x1c)" * (pointer_expression "*(code **)(*local_7c[0] + 0x1c)" * (cast_expression "(code **)(*local_7c[0] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x1c)" ( (binary_expression "*local_7c[0] + 0x1c" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "appuStack_74[0] = (undefined **)0x0;" (assignment_expression "appuStack_74[0] = (undefined **)0x0" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x400;" (assignment_expression "local_7c[1] = (undefined **)0x400" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x400" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_33 = (**(code **)(*local_7c[0] + 0x20))();" (assignment_expression "local_33 = (**(code **)(*local_7c[0] + 0x20))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x20))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x20))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x20)" * (pointer_expression "*(code **)(*local_7c[0] + 0x20)" * (cast_expression "(code **)(*local_7c[0] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x20)" ( (binary_expression "*local_7c[0] + 0x20" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" if (parenthesized_expression "(local_31 != '\0')" ( (binary_expression "local_31 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" { (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "bVar3 = *(byte *)(local_7c[0] + 7);" (assignment_expression "bVar3 = *(byte *)(local_7c[0] + 7)" identifier = (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa" (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" if (parenthesized_expression "((bVar3 & 8) == 0)" ( (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" { (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8" (pointer_expression "*(byte *)(local_7c[0] + 7)" * (cast_expression "(byte *)(local_7c[0] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c[0] + 7)" ( (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 & 0xf8" identifier & number_literal)) ;) })) (expression_statement "(**(code **)(*local_7c[0] + 0x3c))();" (call_expression "(**(code **)(*local_7c[0] + 0x3c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x3c))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x3c)" * (pointer_expression "*(code **)(*local_7c[0] + 0x3c)" * (cast_expression "(code **)(*local_7c[0] + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x3c)" ( (binary_expression "*local_7c[0] + 0x3c" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" if (parenthesized_expression "(((uint)local_7c[0][7] & 1) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 1) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 1)" ( (binary_expression "(uint)local_7c[0][7] & 1" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }" { (expression_statement "lVar23 = (**(code **)(*local_7c[0] + 0xc))();" (assignment_expression "lVar23 = (**(code **)(*local_7c[0] + 0xc))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0xc))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0xc))" ( (pointer_expression "**(code **)(*local_7c[0] + 0xc)" * (pointer_expression "*(code **)(*local_7c[0] + 0xc)" * (cast_expression "(code **)(*local_7c[0] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0xc)" ( (binary_expression "*local_7c[0] + 0xc" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" identifier = identifier) ;) (if_statement "if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" if (parenthesized_expression "(local_33 == '\0')" ( (binary_expression "local_33 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }" { (if_statement "if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" if (parenthesized_expression "(*param_10 != '\0')" ( (binary_expression "*param_10 != '\0'" (pointer_expression "*param_10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" { (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(param_2 + 0x164)" * (cast_expression "(undefined ***)(param_2 + 0x164)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 0x164)" ( (binary_expression "param_2 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "lVar24 = FUN_000efe40();" (assignment_expression "lVar24 = FUN_000efe40()" identifier = (call_expression "FUN_000efe40()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar18 = (uint)((ulonglong)lVar24 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar24 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar24 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar23 = local_54;" (assignment_expression "lVar23 = local_54" identifier = identifier) ;) (if_statement "if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }" if (parenthesized_expression "(local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24))" ( (binary_expression "local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "local_54._4_4_ < uVar18" (field_expression "local_54._4_4_" identifier . field_identifier) < identifier) || (binary_expression "(int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "(int)local_54._4_4_ - uVar18" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) - identifier) < (call_expression "(uint)((undefined **)local_54 < (uint)lVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 < (uint)lVar24)" ( (binary_expression "(undefined **)local_54 < (uint)lVar24" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < (cast_expression "(uint)lVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n              lVar23 = lVar24;\n            }" { (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) })) (expression_statement "*param_10 = '\0';" (assignment_expression "*param_10 = '\0'" (pointer_expression "*param_10" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) }) (else_clause "else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" else (if_statement "if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" if (parenthesized_expression "(*param_10 == '\0')" ( (binary_expression "*param_10 == '\0'" (pointer_expression "*param_10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" { (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(param_2 + 0x164)" * (cast_expression "(undefined ***)(param_2 + 0x164)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 0x164)" ( (binary_expression "param_2 + 0x164" identifier + number_literal) ))))) ;) (if_statement "if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c[0] == (undefined **)0x0)" ( (binary_expression "local_7c[0] == (undefined **)0x0" (subscript_expression "local_7c[0]" identifier [ number_literal ]) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11c4;" (assignment_expression "local_7c[1] = (undefined **)0x11c4" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11c4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar23 = FUN_000efe40();" (assignment_expression "lVar23 = FUN_000efe40()" identifier = (call_expression "FUN_000efe40()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar18 = (uint)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar23 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "(uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54))" ( (binary_expression "uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 < local_54._4_4_" identifier < (field_expression "local_54._4_4_" identifier . field_identifier)) || (binary_expression "uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 - (int)local_54._4_4_" identifier - (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier))) < (call_expression "(uint)((uint)lVar23 < (undefined **)local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar23 < (undefined **)local_54)" ( (binary_expression "(uint)lVar23 < (undefined **)local_54" (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11c6;" (assignment_expression "local_7c[1] = (undefined **)0x11c6" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11c6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*param_10 = '\x01';" (assignment_expression "*param_10 = '\x01'" (pointer_expression "*param_10" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) })))) (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" identifier = identifier) ;) (expression_statement "local_7c[0] = (undefined **)*local_30;" (assignment_expression "local_7c[0] = (undefined **)*local_30" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_30" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_30" * identifier))) ;) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" identifier = identifier) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }" { (expression_statement "uVar18 = CONCAT31(local_2c._1_3_,local_32);" (assignment_expression "uVar18 = CONCAT31(local_2c._1_3_,local_32)" identifier = (call_expression "CONCAT31(local_2c._1_3_,local_32)" identifier (argument_list "(local_2c._1_3_,local_32)" ( (field_expression "local_2c._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_2c._0_4_ = (undefined *)(uVar18 ^ 1);" (assignment_expression "local_2c._0_4_ = (undefined *)(uVar18 ^ 1)" (field_expression "local_2c._0_4_" identifier . field_identifier) = (cast_expression "(undefined *)(uVar18 ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 ^ 1)" ( (binary_expression "uVar18 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1" identifier = (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier ))) ^ number_literal)) ;) (expression_statement "uVar9 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar9 = CONCAT44(local_2c._4_4_,uVar18)" identifier = (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "uVar8 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar8 = CONCAT44(local_2c._4_4_,uVar18)" identifier = (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1))" ( (binary_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)" (parenthesized_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4]))" ( (binary_expression "lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])" identifier != (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) )) && (parenthesized_expression "(local_32 != 1)" ( (binary_expression "local_32 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11df;" (assignment_expression "local_7c[1] = (undefined **)0x11df" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11df" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" if (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" { (expression_statement "lVar6 = local_54 + lVar6 + -1;" (assignment_expression "lVar6 = local_54 + lVar6 + -1" identifier = (binary_expression "local_54 + lVar6 + -1" (binary_expression "local_54 + lVar6" identifier + identifier) + number_literal)) ;) (expression_statement "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);" (assignment_expression "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" identifier = (call_expression "CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" identifier (argument_list "(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" ( (binary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20)" (unary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" - (parenthesized_expression "((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" ( (binary_expression "(int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) + (call_expression "(uint)((undefined **)local_54 != (undefined **)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 != (undefined **)0x0)" ( (binary_expression "(undefined **)local_54 != (undefined **)0x0" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )))) ))) & (call_expression "(uint)((ulonglong)lVar6 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "-(int)(undefined **)local_54 & (uint)lVar6" (unary_expression "-(int)(undefined **)local_54" - (cast_expression "(int)(undefined **)local_54" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) & (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (if_statement "if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'))" ( (binary_expression "((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" (parenthesized_expression "((char)local_2c != '\0')" ( (binary_expression "(char)local_2c != '\0'" (cast_expression "(char)local_2c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" ( (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) , (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n            lVar24 = lVar6;\n          }" { (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" identifier = identifier) ;) })) (expression_statement "ppuVar15 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar15 = (undefined **)*appuStack_74[2]" identifier = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "bVar3 = *(byte *)(ppuVar15 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar15 + 7)" identifier = (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) ))))) ;) (expression_statement "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1" identifier = (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" identifier (argument_list "(local_2c._4_4_,uVar18)" ( (field_expression "local_2c._4_4_" identifier . field_identifier) , identifier ))) ^ number_literal)) ;) (if_statement "if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" statement_identifier : (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec20;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x142;" (assignment_expression "local_7c[1] = (undefined **)0x142" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x142" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar15 + 1)" * (cast_expression "(longlong *)(ppuVar15 + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 1)" ( (binary_expression "ppuVar15 + 1" identifier + number_literal) )))) = (binary_expression "(lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar6 - CONCAT44(local_40,local_44))" ( (binary_expression "lVar6 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (expression_statement "local_2c = uVar8 ^ 1;" (assignment_expression "local_2c = uVar8 ^ 1" identifier = (binary_expression "uVar8 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar15 + 7)" * (cast_expression "(byte *)(ppuVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 7)" ( (binary_expression "ppuVar15 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "*(longlong *)(ppuVar15 + 5) = lVar24;" (assignment_expression "*(longlong *)(ppuVar15 + 5) = lVar24" (pointer_expression "*(longlong *)(ppuVar15 + 5)" * (cast_expression "(longlong *)(ppuVar15 + 5)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar15 + 5)" ( (binary_expression "ppuVar15 + 5" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) (expression_statement "local_2c = uVar9 ^ 1;" (assignment_expression "local_2c = uVar9 ^ 1" identifier = (binary_expression "uVar9 ^ 1" identifier ^ number_literal)) ;) (labeled_statement "joined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" statement_identifier : (if_statement "if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" { (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar23" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[0] = ppuVar15;" (assignment_expression "local_7c[0] = ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_2c = uVar10;" (assignment_expression "local_2c = uVar10" identifier = identifier) ;) (expression_statement "(**(code **)(*ppuVar15 + 0x38))();" (call_expression "(**(code **)(*ppuVar15 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar15 + 0x38))" ( (pointer_expression "**(code **)(*ppuVar15 + 0x38)" * (pointer_expression "*(code **)(*ppuVar15 + 0x38)" * (cast_expression "(code **)(*ppuVar15 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar15 + 0x38)" ( (binary_expression "*ppuVar15 + 0x38" (pointer_expression "*ppuVar15" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (if_statement "if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }" if (parenthesized_expression "(((uint)ppuVar15[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar15[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar15[7] & 2)" ( (binary_expression "(uint)ppuVar15[7] & 2" (cast_expression "(uint)ppuVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar15[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }" { (labeled_statement "LAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec29;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x163;" (assignment_expression "local_7c[1] = (undefined **)0x163" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x163" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" else (compound_statement "{\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" identifier = identifier) ;) (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" if (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" ( (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" { (expression_statement "(**(code **)(*local_7c[0] + 0x34))();" (call_expression "(**(code **)(*local_7c[0] + 0x34))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x34))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x34)" * (pointer_expression "*(code **)(*local_7c[0] + 0x34)" * (cast_expression "(code **)(*local_7c[0] + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x34)" ( (binary_expression "*local_7c[0] + 0x34" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" identifier = identifier) ;) })) (expression_statement "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);" (assignment_expression "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20)" (field_expression "local_54._4_4_" identifier . field_identifier) = (cast_expression "(undefined **)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_54._0_4_ = (undefined **)lVar6;" (assignment_expression "local_54._0_4_ = (undefined **)lVar6" (field_expression "local_54._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)lVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[5] = (undefined **)local_7c[0][4];" (assignment_expression "appuStack_74[5] = (undefined **)local_7c[0][4]" (subscript_expression "appuStack_74[5]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_7c[0][4]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "appuStack_74[4] = (undefined **)local_7c[0][3];" (assignment_expression "appuStack_74[4] = (undefined **)local_7c[0][3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_7c[0][3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "appuStack_74[0] = (undefined **)local_40;" (assignment_expression "appuStack_74[0] = (undefined **)local_40" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_40" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[1] = local_44;" (assignment_expression "local_7c[1] = local_44" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);" (assignment_expression "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" identifier = (call_expression "FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" identifier (argument_list "(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" ( (binary_expression "param_2 + 0x248" identifier + number_literal) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[5]" identifier [ number_literal ]) , (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "local_54 = lVar6;" (assignment_expression "local_54 = lVar6" identifier = identifier) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (if_statement "if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" if (parenthesized_expression "(lVar23 == -1)" ( (binary_expression "lVar23 == -1" identifier == number_literal) )) (compound_statement "{\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x11ee;" (assignment_expression "local_7c[1] = (undefined **)0x11ee" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11ee" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "pppuVar17 = local_7c;" (assignment_expression "pppuVar17 = local_7c" identifier = identifier) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" * (cast_expression "(undefined4 *)(iVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar15 = appuStack_74[3] + -0x410f3;" (assignment_expression "ppuVar15 = appuStack_74[3] + -0x410f3" identifier = (binary_expression "appuStack_74[3] + -0x410f3" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppuVar16 = appuStack_74[3];" (assignment_expression "ppuVar16 = appuStack_74[3]" identifier = (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000f07c4;" goto statement_identifier ;) })) (expression_statement "ppuVar16 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar16 = (undefined **)*appuStack_74[2]" identifier = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "bVar3 = *(byte *)(ppuVar16 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar16 + 7)" identifier = (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 1) != 0) goto LAB_000f089e;" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f089e;" goto statement_identifier ;)) (expression_statement "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar16 + 1)" * (cast_expression "(longlong *)(ppuVar16 + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 1)" ( (binary_expression "ppuVar16 + 1" identifier + number_literal) )))) = (binary_expression "(lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar23 - CONCAT44(local_40,local_44))" ( (binary_expression "lVar23 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000f087f;" goto statement_identifier ;)) (expression_statement "ppuVar16[5] = (undefined *)lVar23;" (assignment_expression "ppuVar16[5] = (undefined *)lVar23" (subscript_expression "ppuVar16[5]" identifier [ number_literal ]) = (cast_expression "(undefined *)lVar23" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar16 + 7)" * (cast_expression "(byte *)(ppuVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar16 + 7)" ( (binary_expression "ppuVar16 + 7" identifier + number_literal) )))) = (binary_expression "bVar3 | 5" identifier | number_literal)) ;) (expression_statement "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);" (assignment_expression "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20)" (subscript_expression "ppuVar16[6]" identifier [ number_literal ]) = (cast_expression "(undefined *)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" { (expression_statement "local_7c[0] = ppuVar16;" (assignment_expression "local_7c[0] = ppuVar16" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(*ppuVar16 + 0x38))();" (call_expression "(**(code **)(*ppuVar16 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar16 + 0x38))" ( (pointer_expression "**(code **)(*ppuVar16 + 0x38)" * (pointer_expression "*(code **)(*ppuVar16 + 0x38)" * (cast_expression "(code **)(*ppuVar16 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar16 + 0x38)" ( (binary_expression "*ppuVar16 + 0x38" (pointer_expression "*ppuVar16" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;" if (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" ( (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f08bd;" goto statement_identifier ;)) (expression_statement "ppuVar16 = (undefined **)*ppuVar15;" (assignment_expression "ppuVar16 = (undefined **)*ppuVar15" identifier = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" ( (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" ( (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) })) (expression_statement "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];" (assignment_expression "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4]" identifier = (binary_expression "(int)appuStack_74[5] - (int)ppuVar16[4]" (cast_expression "(int)appuStack_74[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[5]" identifier [ number_literal ])) - (cast_expression "(int)ppuVar16[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar16[4]" identifier [ number_literal ])))) ;) (expression_statement "lVar6 = lVar23;" (assignment_expression "lVar6 = lVar23" identifier = identifier) ;) (if_statement "if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0)" ( (binary_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3])))" ( (binary_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" (call_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4])" identifier (argument_list "((int)appuStack_74[5],(int)ppuVar16[4])" ( (cast_expression "(int)appuStack_74[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[5]" identifier [ number_literal ])) , (cast_expression "(int)ppuVar16[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar16[4]" identifier [ number_literal ])) ))) != (call_expression "SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" identifier (argument_list "(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" ( identifier , (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < ppuVar16[3])" ( (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < (subscript_expression "ppuVar16[3]" identifier [ number_literal ])) ))) )))) )) != (binary_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (cast_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" ( (binary_expression "iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])" identifier - (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < ppuVar16[3])" ( (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < (subscript_expression "ppuVar16[3]" identifier [ number_literal ])) )))) ))) < number_literal)) )) (compound_statement "{\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" { (while_statement "while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" { (expression_statement "puVar4 = *pppuVar17;" (assignment_expression "puVar4 = *pppuVar17" identifier = (pointer_expression "*pppuVar17" * identifier)) ;) (expression_statement "puVar19 = *ppuVar16;" (assignment_expression "puVar19 = *ppuVar16" identifier = (pointer_expression "*ppuVar16" * identifier)) ;) (expression_statement "pppuVar17[-4] = ppuVar16;" (assignment_expression "pppuVar17[-4] = ppuVar16" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = *(code **)(puVar19 + 0x24);" (assignment_expression "pcVar5 = *(code **)(puVar19 + 0x24)" identifier = (pointer_expression "*(code **)(puVar19 + 0x24)" * (cast_expression "(code **)(puVar19 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x24)" ( (binary_expression "puVar19 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppuVar17[-5] = (undefined **)0xf07e3;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07e3" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf07e3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = *(int *)*puVar4;" (assignment_expression "iVar12 = *(int *)*puVar4" identifier = (pointer_expression "*(int *)*puVar4" * (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier)))) ;) (expression_statement "pppuVar17[-4] = (undefined **)*puVar4;" (assignment_expression "pppuVar17[-4] = (undefined **)*puVar4" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = (cast_expression "(undefined **)*puVar4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar4" * identifier))) ;) (expression_statement "pcVar5 = *(code **)(iVar12 + 0x24);" (assignment_expression "pcVar5 = *(code **)(iVar12 + 0x24)" identifier = (pointer_expression "*(code **)(iVar12 + 0x24)" * (cast_expression "(code **)(iVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppuVar17[-5] = (undefined **)0xf07f6;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07f6" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf07f6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pppuVar2 = pppuVar17 + 1;" (assignment_expression "pppuVar2 = pppuVar17 + 1" identifier = (binary_expression "pppuVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" * (cast_expression "(undefined4 *)(iVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar15 = *pppuVar2 + -0x410e2;" (assignment_expression "ppuVar15 = *pppuVar2 + -0x410e2" identifier = (binary_expression "*pppuVar2 + -0x410e2" (pointer_expression "*pppuVar2" * identifier) + number_literal)) ;) (expression_statement "pppuVar17 = pppuVar17 + -4;" (assignment_expression "pppuVar17 = pppuVar17 + -4" identifier = (binary_expression "pppuVar17 + -4" identifier + number_literal)) ;) (expression_statement "ppuVar16 = *pppuVar2;" (assignment_expression "ppuVar16 = *pppuVar2" identifier = (pointer_expression "*pppuVar2" * identifier)) ;) (labeled_statement "LAB_000f07c4:\n              *pppuVar17 = ppuVar15;" statement_identifier : (expression_statement "*pppuVar17 = ppuVar15;" (assignment_expression "*pppuVar17 = ppuVar15" (pointer_expression "*pppuVar17" * identifier) = identifier) ;)) (expression_statement "((int *)pppuVar17)[-1] = 0xf07ce;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07ce" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "((int *)pppuVar17)[1] = uVar20;" (assignment_expression "((int *)pppuVar17)[1] = uVar20" (subscript_expression "((int *)pppuVar17)[1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pppuVar17 = (undefined **)uVar14;" (assignment_expression "*pppuVar17 = (undefined **)uVar14" (pointer_expression "*pppuVar17" * identifier) = (cast_expression "(undefined **)uVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "((int *)pppuVar17)[-1] = 0xf07d7;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07d7" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" ( (cast_expression "(int *)pppuVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00065480();" (call_expression "FUN_00065480()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;" (assignment_expression "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[-2]" identifier [ number_literal ]) = (binary_expression "pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pppuVar17[-3] = (undefined **)0x11f6;" (assignment_expression "pppuVar17[-3] = (undefined **)0x11f6" (subscript_expression "pppuVar17[-3]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x11f6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);" (assignment_expression "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95)" (subscript_expression "pppuVar17[-4]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)pppuVar17[1] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar17[1] + -0xfcc95)" ( (binary_expression "(int)pppuVar17[1] + -0xfcc95" (cast_expression "(int)pppuVar17[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar17[1]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pppuVar17[-5] = (undefined **)0xf0843;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf0843" (subscript_expression "pppuVar17[-5]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xf0843" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" else (compound_statement "{\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" { (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" identifier = identifier) ;) (expression_statement "local_7c[0] = (undefined **)*local_24;" (assignment_expression "local_7c[0] = (undefined **)*local_24" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_24" * identifier))) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" { (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" ( (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" ( (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb59;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xc5;" (assignment_expression "local_7c[1] = (undefined **)0xc5" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xc5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_54._4_4_ = (undefined **)appuStack_74[1][2];" (assignment_expression "local_54._4_4_ = (undefined **)appuStack_74[1][2]" (field_expression "local_54._4_4_" identifier . field_identifier) = (cast_expression "(undefined **)appuStack_74[1][2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "local_54._0_4_ = (undefined **)appuStack_74[1][1];" (assignment_expression "local_54._0_4_ = (undefined **)appuStack_74[1][1]" (field_expression "local_54._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)appuStack_74[1][1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "lVar23 = lVar6 - CONCAT44(local_40,local_44);" (assignment_expression "lVar23 = lVar6 - CONCAT44(local_40,local_44)" identifier = (binary_expression "lVar6 - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier ))))) ;) (expression_statement "local_2c = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "local_2c = lVar23 + CONCAT44(local_38,local_3c)" identifier = (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" identifier + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "ppuVar15 = (undefined **)(local_2c >> 0x20);" (assignment_expression "ppuVar15 = (undefined **)(local_2c >> 0x20)" identifier = (cast_expression "(undefined **)(local_2c >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c >> 0x20)" ( (binary_expression "local_2c >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "lVar23 = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "lVar23 = lVar23 + CONCAT44(local_38,local_3c)" identifier = (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" identifier + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (if_statement "if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c))" ( (binary_expression "local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (binary_expression "local_54._4_4_ < ppuVar15" (field_expression "local_54._4_4_" identifier . field_identifier) < identifier) || (binary_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (call_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_54._4_4_ - (int)ppuVar15)" ( (binary_expression "(int)local_54._4_4_ - (int)ppuVar15" (cast_expression "(int)local_54._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_54._4_4_" identifier . field_identifier)) - (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)((undefined **)local_54 < (undefined **)local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)local_54 < (undefined **)local_2c)" ( (binary_expression "(undefined **)local_54 < (undefined **)local_2c" (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < (cast_expression "(undefined **)local_2c" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))))) )) (compound_statement "{\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }" { (if_statement "if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }" if (parenthesized_expression "(*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_2 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_2 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 4) + 0xac)" ( (binary_expression "*(int *)(param_2 + 4) + 0xac" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" ( (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_7c[1] = (undefined **)0x1215;" (assignment_expression "local_7c[1] = (undefined **)0x1215" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x1215" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0] = appuStack_74[1];" (assignment_expression "local_7c[0] = appuStack_74[1]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();" (assignment_expression "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))()" identifier = (call_expression "(**(code **)(*appuStack_74[1] + 0x24))()" (parenthesized_expression "(**(code **)(*appuStack_74[1] + 0x24))" ( (pointer_expression "**(code **)(*appuStack_74[1] + 0x24)" * (pointer_expression "*(code **)(*appuStack_74[1] + 0x24)" * (cast_expression "(code **)(*appuStack_74[1] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*appuStack_74[1] + 0x24)" ( (binary_expression "*appuStack_74[1] + 0x24" (pointer_expression "*appuStack_74[1]" * (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar12 = (int)*appuStack_74[2];" (assignment_expression "iVar12 = (int)*appuStack_74[2]" identifier = (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "((*(byte *)(iVar12 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar12 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar12 + 0x1c)" * (cast_expression "(byte *)(iVar12 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "local_54._0_4_ = *(undefined ***)(iVar12 + 4);" (assignment_expression "local_54._0_4_ = *(undefined ***)(iVar12 + 4)" (field_expression "local_54._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar12 + 4)" * (cast_expression "(undefined ***)(iVar12 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54._4_4_ = *(undefined ***)(iVar12 + 8);" (assignment_expression "local_54._4_4_ = *(undefined ***)(iVar12 + 8)" (field_expression "local_54._4_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar12 + 8)" * (cast_expression "(undefined ***)(iVar12 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }" { (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2a7;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2a7" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f2a7" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);" (assignment_expression "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_)" identifier = (call_expression "CONCAT44((undefined **)local_54,local_2c._4_4_)" identifier (argument_list "((undefined **)local_54,local_2c._4_4_)" ( (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (field_expression "local_2c._4_4_" identifier . field_identifier) )))) ;) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "uVar20 = (undefined *)local_2c;" (assignment_expression "uVar20 = (undefined *)local_2c" identifier = (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" else (compound_statement "{\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" { (expression_statement "local_20 = *(undefined4 *)(iVar13 + 0x20);" (assignment_expression "local_20 = *(undefined4 *)(iVar13 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(iVar13 + 0x20)" * (cast_expression "(undefined4 *)(iVar13 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f298;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f298" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f298" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_7c[1] = local_54._4_4_;" (assignment_expression "local_7c[1] = local_54._4_4_" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (field_expression "local_54._4_4_" identifier . field_identifier)) ;) (expression_statement "local_7c[0] = (undefined **)local_54;" (assignment_expression "local_7c[0] = (undefined **)local_54" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)local_54" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar20 = local_20;" (assignment_expression "uVar20 = local_20" identifier = identifier) ;) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" identifier = identifier) ;) }))) (expression_statement "FUN_000654b0(uVar14,uVar20,uVar10);" (call_expression "FUN_000654b0(uVar14,uVar20,uVar10)" identifier (argument_list "(uVar14,uVar20,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) ;) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) }) (else_clause "else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" else (if_statement "if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" if (parenthesized_expression "(((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0))" ( (binary_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)" (parenthesized_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)" ( (binary_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19)))" ( (binary_expression "SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" (call_expression "SBORROW4((int)appuStack_74[6],iVar12)" identifier (argument_list "((int)appuStack_74[6],iVar12)" ( (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) , identifier ))) != (call_expression "SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" identifier (argument_list "((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" ( (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) - identifier) , (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < puVar19)" ( (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < identifier) ))) )))) )) == (binary_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (cast_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" ( (binary_expression "((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "((int)appuStack_74[6] - iVar12)" ( (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ])) - identifier) )) - (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(appuStack_74[4] < puVar19)" ( (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) < identifier) )))) ))) < number_literal)) )) || (parenthesized_expression "((local_32 ^ 1) == 0)" ( (binary_expression "(local_32 ^ 1) == 0" (parenthesized_expression "(local_32 ^ 1)" ( (binary_expression "local_32 ^ 1" identifier ^ number_literal) )) == number_literal) ))) )) (compound_statement "{\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }" { (expression_statement "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);" (assignment_expression "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1)" identifier = (binary_expression "lVar6 + *(longlong *)(appuStack_74[1] + 1)" identifier + (pointer_expression "*(longlong *)(appuStack_74[1] + 1)" * (cast_expression "(longlong *)(appuStack_74[1] + 1)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 1)" ( (binary_expression "appuStack_74[1] + 1" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))))) ;) (if_statement "if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" if (parenthesized_expression "(((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'))" ( (binary_expression "((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" (parenthesized_expression "((local_32 ^ 1) != 0)" ( (binary_expression "(local_32 ^ 1) != 0" (parenthesized_expression "(local_32 ^ 1)" ( (binary_expression "local_32 ^ 1" identifier ^ number_literal) )) != number_literal) )) || (parenthesized_expression "(lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" ( (comma_expression "lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar6 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) , (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" identifier = (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" identifier (argument_list "(appuStack_74[6],appuStack_74[4])" ( (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) , (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) )))) , (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" { (expression_statement "lVar6 = lVar7 - lVar23;" (assignment_expression "lVar6 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) ;) (expression_statement "lVar24 = lVar7 - lVar23;" (assignment_expression "lVar24 = lVar7 - lVar23" identifier = (binary_expression "lVar7 - lVar23" identifier - identifier)) ;) })) }) (else_clause "else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" else (compound_statement "{\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" { (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2bf;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2bf" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3f2bf" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = (undefined **)gettext();" (assignment_expression "local_7c[0] = (undefined **)gettext()" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)gettext()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_000654e0();" (call_expression "FUN_000654e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;" if (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" ( (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" ( (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0977;" goto statement_identifier ;)) (expression_statement "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);" (assignment_expression "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" identifier = (call_expression "CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" identifier (argument_list "(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" ( (binary_expression "appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]) + (parenthesized_expression "((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" ( (binary_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_)" ( (binary_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_" (parenthesized_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12)" ( (binary_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12" (cast_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" identifier (argument_list "((uint)puVar19,(uint)appuStack_74[1][1])" ( (cast_expression "(uint)puVar19" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)appuStack_74[1][1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ])) )))) + identifier) )) - (field_expression "local_2c._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" ( (binary_expression "puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c" (binary_expression "puVar19 + (int)appuStack_74[1][1]" identifier + (cast_expression "(int)appuStack_74[1][1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) < (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ))) , (binary_expression "(int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c" (cast_expression "(int)(puVar19 + (int)appuStack_74[1][1])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar19 + (int)appuStack_74[1][1])" ( (binary_expression "puVar19 + (int)appuStack_74[1][1]" identifier + (cast_expression "(int)appuStack_74[1][1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) [ number_literal ]))) ))) - (cast_expression "(int)(undefined *)local_2c" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" identifier = identifier) ;) }))))) (expression_statement "bVar3 = *(byte *)(appuStack_74[1] + 7);" (assignment_expression "bVar3 = *(byte *)(appuStack_74[1] + 7)" identifier = (pointer_expression "*(byte *)(appuStack_74[1] + 7)" * (cast_expression "(byte *)(appuStack_74[1] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 7)" ( (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }" { (labeled_statement "LAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" statement_identifier : (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" ( (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec24;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x14b;" (assignment_expression "local_7c[1] = (undefined **)0x14b" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x14b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4;" (assignment_expression "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4" (pointer_expression "*(byte *)(appuStack_74[1] + 7)" * (cast_expression "(byte *)(appuStack_74[1] + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 7)" ( (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))) = (binary_expression "bVar3 | 4" identifier | number_literal)) ;) (expression_statement "*(longlong *)(appuStack_74[1] + 5) = lVar24;" (assignment_expression "*(longlong *)(appuStack_74[1] + 5) = lVar24" (pointer_expression "*(longlong *)(appuStack_74[1] + 5)" * (cast_expression "(longlong *)(appuStack_74[1] + 5)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(appuStack_74[1] + 5)" ( (binary_expression "appuStack_74[1] + 5" (subscript_expression "appuStack_74[1]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "ppuVar15 = appuStack_74[1];" (assignment_expression "ppuVar15 = appuStack_74[1]" identifier = (subscript_expression "appuStack_74[1]" identifier [ number_literal ])) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" identifier = identifier) ;) (goto_statement "goto joined_r0x000f0642;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }" if (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4)" ( (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 4" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" * (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" ( (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb67;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xe3;" (assignment_expression "local_7c[1] = (undefined **)0xe3" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xe3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);" (assignment_expression "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14)" identifier = (cast_expression "(longlong *)((int)*appuStack_74[2] + 0x14)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x14)" ( (binary_expression "(int)*appuStack_74[2] + 0x14" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) ;) (expression_statement "lVar23 = *plVar1;" (assignment_expression "lVar23 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (expression_statement "lVar6 = *plVar1;" (assignment_expression "lVar6 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) }))) (expression_statement "uVar18 = (uint)lVar6;" (assignment_expression "uVar18 = (uint)lVar6" identifier = (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)lVar23" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_7c[0] = (undefined **)*local_58;" (assignment_expression "local_7c[0] = (undefined **)*local_58" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*local_58" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_58" * identifier))) ;) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" identifier = (call_expression "FUN_001395e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" if (parenthesized_expression "(cVar11 == '\0')" ( (binary_expression "cVar11 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (labeled_statement "LAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;" statement_identifier : (if_statement "if (local_33 == '\0') goto LAB_000f03a0;" if (parenthesized_expression "(local_33 == '\0')" ( (binary_expression "local_33 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;))) (labeled_statement "LAB_000f00a0:\n        lVar23 = local_4c;" statement_identifier : (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;)) (if_statement "if (local_32 == 0) goto LAB_000f03a0;" if (parenthesized_expression "(local_32 == 0)" ( (binary_expression "local_32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000f03a0;" goto statement_identifier ;)) }) (else_clause "else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" else (compound_statement "{\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" { (expression_statement "puVar4 = (undefined4 *)*local_58;" (assignment_expression "puVar4 = (undefined4 *)*local_58" identifier = (cast_expression "(undefined4 *)*local_58" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_58" * identifier))) ;) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (if_statement "if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;" if (parenthesized_expression "((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0))" ( (binary_expression "(puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)" (parenthesized_expression "(puVar4[2] == 0)" ( (binary_expression "puVar4[2] == 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((*(byte *)(puVar4 + 5) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar4 + 5) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar4 + 5) & 0x10)" ( (binary_expression "*(byte *)(puVar4 + 5) & 0x10" (pointer_expression "*(byte *)(puVar4 + 5)" * (cast_expression "(byte *)(puVar4 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 5)" ( (binary_expression "puVar4 + 5" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000f0095;" goto statement_identifier ;)) (expression_statement "uVar20 = *puVar4;" (assignment_expression "uVar20 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)((int)appuStack_74[3] + -0x104a65)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)appuStack_74[3] + -0x104a65)" ( (binary_expression "(int)appuStack_74[3] + -0x104a65" (cast_expression "(int)appuStack_74[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[3]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" { (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x24)" * (pointer_expression "*(code **)(*local_7c[0] + 0x24)" * (cast_expression "(code **)(*local_7c[0] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x24)" ( (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "local_7c[0] = *(undefined ***)(iVar12 + 0x20);" (assignment_expression "local_7c[0] = *(undefined ***)(iVar12 + 0x20)" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined ***)(iVar12 + 0x20)" * (cast_expression "(undefined ***)(iVar12 + 0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) })) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" identifier = (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;" if (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2)" ( (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 2" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" * (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" ( (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f0860;" goto statement_identifier ;)) (expression_statement "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));" (call_expression "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" identifier (argument_list "(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" ( identifier , (binary_expression "appuStack_74[3] + -0x3f288" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal) , identifier , (pointer_expression "*(undefined4 *)((int)*appuStack_74[2] + 0xc)" * (cast_expression "(undefined4 *)((int)*appuStack_74[2] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*appuStack_74[2] + 0xc)" ( (binary_expression "(int)*appuStack_74[2] + 0xc" (cast_expression "(int)*appuStack_74[2]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ]))) + number_literal) )))) ))) ;) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*ppuVar15" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar15" * identifier))) ;) (if_statement "if (local_33 != '\0') goto LAB_000f00a0;" if (parenthesized_expression "(local_33 != '\0')" ( (binary_expression "local_33 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f00a0;" goto statement_identifier ;)) (labeled_statement "LAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" statement_identifier : (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" if (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" ( (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" ( (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" { (labeled_statement "LAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;" statement_identifier : (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb48;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0xcf;" (assignment_expression "local_7c[1] = (undefined **)0xcf" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0xcf" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar19 = local_7c[0][3] + uVar18;" (assignment_expression "puVar19 = local_7c[0][3] + uVar18" identifier = (binary_expression "local_7c[0][3] + uVar18" (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) + identifier)) ;) (expression_statement "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" identifier = (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3])" (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar18,(uint)local_7c[0][3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,(uint)local_7c[0][3])" identifier (argument_list "(uVar18,(uint)local_7c[0][3])" ( identifier , (cast_expression "(uint)local_7c[0][3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ])) ))))) + (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" identifier = (call_expression "CONCAT44(puVar21,puVar19)" identifier (argument_list "(puVar21,puVar19)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;) (if_statement "if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" if (parenthesized_expression "(local_32 == 0)" ( (binary_expression "local_32 == 0" identifier == number_literal) )) (compound_statement "{\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" { (expression_statement "appuStack_74[4] = (undefined **)puVar19;" (assignment_expression "appuStack_74[4] = (undefined **)puVar19" (subscript_expression "appuStack_74[4]" identifier [ number_literal ]) = (cast_expression "(undefined **)puVar19" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "appuStack_74[6] = (undefined **)puVar21;" (assignment_expression "appuStack_74[6] = (undefined **)puVar21" (subscript_expression "appuStack_74[6]" identifier [ number_literal ]) = (cast_expression "(undefined **)puVar21" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" identifier = (call_expression "CONCAT44(puVar21,puVar19)" identifier (argument_list "(puVar21,puVar19)" ( identifier , identifier )))) ;) })) }))) (expression_statement "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);" (assignment_expression "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20)" (field_expression "local_4c._4_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_4c._0_4_ = (uint)lVar23;" (assignment_expression "local_4c._0_4_ = (uint)lVar23" (field_expression "local_4c._0_4_" identifier . field_identifier) = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)((uint)local_4c < (uint)lVar6);" (assignment_expression "uVar18 = (uint)((uint)local_4c < (uint)lVar6)" identifier = (call_expression "(uint)((uint)local_4c < (uint)lVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_4c < (uint)lVar6)" ( (binary_expression "(uint)local_4c < (uint)lVar6" (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)lVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "bVar22 = SBORROW4(local_4c._4_4_,iVar12);" (assignment_expression "bVar22 = SBORROW4(local_4c._4_4_,iVar12)" identifier = (call_expression "SBORROW4(local_4c._4_4_,iVar12)" identifier (argument_list "(local_4c._4_4_,iVar12)" ( (field_expression "local_4c._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "iVar12 = local_4c._4_4_ - iVar12;" (assignment_expression "iVar12 = local_4c._4_4_ - iVar12" identifier = (binary_expression "local_4c._4_4_ - iVar12" (field_expression "local_4c._4_4_" identifier . field_identifier) - identifier)) ;) (expression_statement "local_4c = lVar23;" (assignment_expression "local_4c = lVar23" identifier = identifier) ;) (if_statement "if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }" if (parenthesized_expression "((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0)" ( (binary_expression "(bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0" (parenthesized_expression "(bVar22 != SBORROW4(iVar12,uVar18))" ( (binary_expression "bVar22 != SBORROW4(iVar12,uVar18)" identifier != (call_expression "SBORROW4(iVar12,uVar18)" identifier (argument_list "(iVar12,uVar18)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar12 - uVar18) < 0" (cast_expression "(int)(iVar12 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar12 - uVar18)" ( (binary_expression "iVar12 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        local_4c = lVar6;\n      }" { (expression_statement "local_4c = lVar6;" (assignment_expression "local_4c = lVar6" identifier = identifier) ;) })) (expression_statement "cVar11 = (**(code **)(*local_7c[0] + 0x18))();" (assignment_expression "cVar11 = (**(code **)(*local_7c[0] + 0x18))()" identifier = (call_expression "(**(code **)(*local_7c[0] + 0x18))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x18))" ( (pointer_expression "**(code **)(*local_7c[0] + 0x18)" * (pointer_expression "*(code **)(*local_7c[0] + 0x18)" * (cast_expression "(code **)(*local_7c[0] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_7c[0] + 0x18)" ( (binary_expression "*local_7c[0] + 0x18" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" if (parenthesized_expression "(cVar11 != '\0')" ( (binary_expression "cVar11 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" { (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (cast_expression "(undefined **)*appuStack_74[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*appuStack_74[2]" * (subscript_expression "appuStack_74[2]" identifier [ number_literal ])))) ;) (expression_statement "local_7c[1] = (undefined **)*param_9;" (assignment_expression "local_7c[1] = (undefined **)*param_9" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)*param_9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_9" * identifier))) ;) (if_statement "if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" if (parenthesized_expression "(*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4)" ( (binary_expression "*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4" (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_7c[0] + 0x30)" ( (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) )))) == (binary_expression "appuStack_74[3] + -0xba8f4" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }" { (if_statement "if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }" if (parenthesized_expression "((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff))" ( (binary_expression "(local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)" (parenthesized_expression "(local_7c[1] != (undefined **)local_7c[0][0x18])" ( (binary_expression "local_7c[1] != (undefined **)local_7c[0][0x18]" (subscript_expression "local_7c[1]" identifier [ number_literal ]) != (cast_expression "(undefined **)local_7c[0][0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]))) )) && (parenthesized_expression "(local_7c[0][0x18] != (undefined *)0xffffffff)" ( (binary_expression "local_7c[0][0x18] != (undefined *)0xffffffff" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }" { (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed7c;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "local_7c[1] = (undefined **)0x104b;" (assignment_expression "local_7c[1] = (undefined **)0x104b" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = (cast_expression "(undefined **)0x104b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_7c[0][0x18] = (undefined *)local_7c[1];" (assignment_expression "local_7c[0][0x18] = (undefined *)local_7c[1]" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" identifier [ number_literal ]) [ number_literal ]) = (cast_expression "(undefined *)local_7c[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_7c[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" else (compound_statement "{\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" { (expression_statement "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))();" (call_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))()" (parenthesized_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))" ( (pointer_expression "*(code *)*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(code *)*(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" * (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_7c[0] + 0x30)" ( (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" * (subscript_expression "local_7c[0]" identifier [ number_literal ])) + number_literal) )))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*param_9 = *param_9 + 1;" (assignment_expression "*param_9 = *param_9 + 1" (pointer_expression "*param_9" * identifier) = (binary_expression "*param_9 + 1" (pointer_expression "*param_9" * identifier) + number_literal)) ;) })) (expression_statement "appuStack_74[2] = appuStack_74[2] + 1;" (assignment_expression "appuStack_74[2] = appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) = (binary_expression "appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" identifier [ number_literal ]) + number_literal)) ;) }) while (parenthesized_expression "((undefined **)param_4[1] != appuStack_74[2])" ( (binary_expression "(undefined **)param_4[1] != appuStack_74[2]" (cast_expression "(undefined **)param_4[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (subscript_expression "appuStack_74[2]" identifier [ number_literal ])) )) ;) (expression_statement "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" identifier = (binary_expression "(local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(local_4c - CONCAT44(local_40,local_44))" ( (binary_expression "local_4c - CONCAT44(local_40,local_44)" identifier - (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier )))) )) + (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" identifier = identifier) ;) })) (expression_statement "*(longlong *)param_7 = lVar23;" (assignment_expression "*(longlong *)param_7 = lVar23" (pointer_expression "*(longlong *)param_7" * (cast_expression "(longlong *)param_7" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*param_8 = (int)appuStack_74[4];" (assignment_expression "*param_8 = (int)appuStack_74[4]" (pointer_expression "*param_8" * identifier) = (cast_expression "(int)appuStack_74[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[4]" identifier [ number_literal ]))) ;) (expression_statement "param_8[1] = (int)appuStack_74[6];" (assignment_expression "param_8[1] = (int)appuStack_74[6]" (subscript_expression "param_8[1]" identifier [ number_literal ]) = (cast_expression "(int)appuStack_74[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "appuStack_74[6]" identifier [ number_literal ]))) ;) (return_statement "return lVar24;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (binary_expression IDENT & LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) < IDENT) || (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_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 *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < (field_expression IDENT . field_identifier)) || (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (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 != (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )))) ))) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) , (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_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 = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ 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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (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 (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE (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 IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < (subscript_expression IDENT [ LIT ])) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < (subscript_expression IDENT [ LIT ])) )))) ))) < LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_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 = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) < IDENT) || (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) }) (else_clause else (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) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - IDENT) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )))) ))) < LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) (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 = (binary_expression IDENT - IDENT)) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT != (char_literal ' escape_sequence ')))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) )))) + IDENT) )) - (field_expression IDENT . field_identifier)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ))) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (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) ) (pointer_expression * (subscript_expression IDENT [ LIT ]))) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (subscript_expression IDENT [ LIT ]))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression 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 *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (subscript_expression IDENT [ LIT ]))) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (subscript_expression IDENT [ LIT ]))) + LIT) )))) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ))))) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))) == (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) )) (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 *))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) )) && (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))))) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) != (subscript_expression IDENT [ LIT ])) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (return_statement return IDENT ;) })))
(function_definition "longlong FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)\n\n{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" (type_identifier "longlong") (function_declarator "FUN_000efff0(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" (identifier "FUN_000efff0") (parameter_list "(undefined4 param_1,int param_2,char param_3,int *param_4,undefined4 param_5,\n                     undefined4 param_6,uint *param_7,int *param_8,int *param_9,char *param_10)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "char param_3" (primitive_type "char") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "uint *param_7" (type_identifier "uint") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) (, ",") (parameter_declaration "int *param_8" (primitive_type "int") (pointer_declarator "*param_8" (* "*") (identifier "param_8"))) (, ",") (parameter_declaration "int *param_9" (primitive_type "int") (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) (, ",") (parameter_declaration "char *param_10" (primitive_type "char") (pointer_declarator "*param_10" (* "*") (identifier "param_10"))) () ")"))) (compound_statement "{\n  longlong *plVar1;\n  undefined ***pppuVar2;\n  byte bVar3;\n  undefined4 *puVar4;\n  code *pcVar5;\n  longlong lVar6;\n  longlong lVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  ulonglong uVar10;\n  char cVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined **ppuVar15;\n  undefined **ppuVar16;\n  undefined ***pppuVar17;\n  uint uVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  undefined *puVar21;\n  bool bVar22;\n  longlong lVar23;\n  longlong lVar24;\n  undefined **local_7c [2];\n  undefined **appuStack_74 [7];\n  int *local_58;\n  undefined8 local_54;\n  undefined8 local_4c;\n  undefined **local_44;\n  uint local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  char local_33;\n  byte local_32;\n  char local_31;\n  int *local_30;\n  undefined8 local_2c;\n  int *local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  lVar24 = CONCAT44(param_6,param_5);\n  uStack_14 = 0xefff9;\n  appuStack_74[3] = &__DT_PLTGOT;\n  pppuVar17 = appuStack_74 + 2;\n  local_3c = param_5;\n  local_31 = param_3;\n  local_38 = param_6;\n  local_44 = (undefined **)*param_7;\n  local_40 = param_7[1];\n  lVar23 = *(longlong *)param_7;\n  local_4c = *(longlong *)param_7;\n  lVar6 = *(longlong *)param_7;\n  appuStack_74[4] = (undefined **)*param_8;\n  appuStack_74[6] = (undefined **)param_8[1];\n  appuStack_74[2] = (undefined **)*param_4;\n  if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }\n  *(longlong *)param_7 = lVar23;\n  *param_8 = (int)appuStack_74[4];\n  param_8[1] = (int)appuStack_74[6];\n  return lVar24;\n}" ({ "{") (declaration "longlong *plVar1;" (type_identifier "longlong") (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "undefined ***pppuVar2;" (type_identifier "undefined") (pointer_declarator "***pppuVar2" (* "*") (pointer_declarator "**pppuVar2" (* "*") (pointer_declarator "*pppuVar2" (* "*") (identifier "pppuVar2")))) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "longlong lVar6;" (type_identifier "longlong") (identifier "lVar6") (; ";")) (declaration "longlong lVar7;" (type_identifier "longlong") (identifier "lVar7") (; ";")) (declaration "ulonglong uVar8;" (type_identifier "ulonglong") (identifier "uVar8") (; ";")) (declaration "ulonglong uVar9;" (type_identifier "ulonglong") (identifier "uVar9") (; ";")) (declaration "ulonglong uVar10;" (type_identifier "ulonglong") (identifier "uVar10") (; ";")) (declaration "char cVar11;" (primitive_type "char") (identifier "cVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "undefined **ppuVar15;" (type_identifier "undefined") (pointer_declarator "**ppuVar15" (* "*") (pointer_declarator "*ppuVar15" (* "*") (identifier "ppuVar15"))) (; ";")) (declaration "undefined **ppuVar16;" (type_identifier "undefined") (pointer_declarator "**ppuVar16" (* "*") (pointer_declarator "*ppuVar16" (* "*") (identifier "ppuVar16"))) (; ";")) (declaration "undefined ***pppuVar17;" (type_identifier "undefined") (pointer_declarator "***pppuVar17" (* "*") (pointer_declarator "**pppuVar17" (* "*") (pointer_declarator "*pppuVar17" (* "*") (identifier "pppuVar17")))) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "longlong lVar23;" (type_identifier "longlong") (identifier "lVar23") (; ";")) (declaration "longlong lVar24;" (type_identifier "longlong") (identifier "lVar24") (; ";")) (declaration "undefined **local_7c [2];" (type_identifier "undefined") (pointer_declarator "**local_7c [2]" (* "*") (pointer_declarator "*local_7c [2]" (* "*") (array_declarator "local_7c [2]" (identifier "local_7c") ([ "[") (number_literal "2") (] "]")))) (; ";")) (declaration "undefined **appuStack_74 [7];" (type_identifier "undefined") (pointer_declarator "**appuStack_74 [7]" (* "*") (pointer_declarator "*appuStack_74 [7]" (* "*") (array_declarator "appuStack_74 [7]" (identifier "appuStack_74") ([ "[") (number_literal "7") (] "]")))) (; ";")) (declaration "int *local_58;" (primitive_type "int") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "undefined8 local_54;" (type_identifier "undefined8") (identifier "local_54") (; ";")) (declaration "undefined8 local_4c;" (type_identifier "undefined8") (identifier "local_4c") (; ";")) (declaration "undefined **local_44;" (type_identifier "undefined") (pointer_declarator "**local_44" (* "*") (pointer_declarator "*local_44" (* "*") (identifier "local_44"))) (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "char local_33;" (primitive_type "char") (identifier "local_33") (; ";")) (declaration "byte local_32;" (type_identifier "byte") (identifier "local_32") (; ";")) (declaration "char local_31;" (primitive_type "char") (identifier "local_31") (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined8 local_2c;" (type_identifier "undefined8") (identifier "local_2c") (; ";")) (declaration "int *local_24;" (primitive_type "int") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "lVar24 = CONCAT44(param_6,param_5);" (assignment_expression "lVar24 = CONCAT44(param_6,param_5)" (identifier "lVar24") (= "=") (call_expression "CONCAT44(param_6,param_5)" (identifier "CONCAT44") (argument_list "(param_6,param_5)" (( "(") (identifier "param_6") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "uStack_14 = 0xefff9;" (assignment_expression "uStack_14 = 0xefff9" (identifier "uStack_14") (= "=") (number_literal "0xefff9")) (; ";")) (expression_statement "appuStack_74[3] = &__DT_PLTGOT;" (assignment_expression "appuStack_74[3] = &__DT_PLTGOT" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "pppuVar17 = appuStack_74 + 2;" (assignment_expression "pppuVar17 = appuStack_74 + 2" (identifier "pppuVar17") (= "=") (binary_expression "appuStack_74 + 2" (identifier "appuStack_74") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_31 = param_3;" (assignment_expression "local_31 = param_3" (identifier "local_31") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" (identifier "local_38") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_44 = (undefined **)*param_7;" (assignment_expression "local_44 = (undefined **)*param_7" (identifier "local_44") (= "=") (cast_expression "(undefined **)*param_7" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "local_40 = param_7[1];" (assignment_expression "local_40 = param_7[1]" (identifier "local_40") (= "=") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "lVar23 = *(longlong *)param_7;" (assignment_expression "lVar23 = *(longlong *)param_7" (identifier "lVar23") (= "=") (pointer_expression "*(longlong *)param_7" (* "*") (cast_expression "(longlong *)param_7" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")))) (; ";")) (expression_statement "local_4c = *(longlong *)param_7;" (assignment_expression "local_4c = *(longlong *)param_7" (identifier "local_4c") (= "=") (pointer_expression "*(longlong *)param_7" (* "*") (cast_expression "(longlong *)param_7" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")))) (; ";")) (expression_statement "lVar6 = *(longlong *)param_7;" (assignment_expression "lVar6 = *(longlong *)param_7" (identifier "lVar6") (= "=") (pointer_expression "*(longlong *)param_7" (* "*") (cast_expression "(longlong *)param_7" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")))) (; ";")) (expression_statement "appuStack_74[4] = (undefined **)*param_8;" (assignment_expression "appuStack_74[4] = (undefined **)*param_8" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)*param_8" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_8" (* "*") (identifier "param_8")))) (; ";")) (expression_statement "appuStack_74[6] = (undefined **)param_8[1];" (assignment_expression "appuStack_74[6] = (undefined **)param_8[1]" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)param_8[1]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_8[1]" (identifier "param_8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "appuStack_74[2] = (undefined **)*param_4;" (assignment_expression "appuStack_74[2] = (undefined **)*param_4" (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined **)*param_4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (if_statement "if (appuStack_74[2] != (undefined **)param_4[1]) {\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" (if "if") (parenthesized_expression "(appuStack_74[2] != (undefined **)param_4[1])" (( "(") (binary_expression "appuStack_74[2] != (undefined **)param_4[1]" (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(undefined **)param_4[1]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    local_30 = &DAT_0038f378;\n    local_24 = local_30;\n    do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);\n    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n    lVar23 = local_4c;\n  }" ({ "{") (expression_statement "local_30 = &DAT_0038f378;" (assignment_expression "local_30 = &DAT_0038f378" (identifier "local_30") (= "=") (pointer_expression "&DAT_0038f378" (& "&") (identifier "DAT_0038f378"))) (; ";")) (expression_statement "local_24 = local_30;" (assignment_expression "local_24 = local_30" (identifier "local_24") (= "=") (identifier "local_30")) (; ";")) (do_statement "do {\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    } while ((undefined **)param_4[1] != appuStack_74[2]);" (do "do") (compound_statement "{\n      ppuVar15 = appuStack_74[2];\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      puVar19 = (undefined *)lVar6;\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      local_7c[1] = (undefined **)0x8;\n      local_32 = (**(code **)(*local_7c[0] + 0x1c))();\n      local_7c[0] = (undefined **)*ppuVar15;\n      appuStack_74[0] = (undefined **)0x0;\n      local_7c[1] = (undefined **)0x400;\n      local_33 = (**(code **)(*local_7c[0] + 0x20))();\n      if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }\n      local_7c[0] = (undefined **)*appuStack_74[2];\n      if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }\n      uVar18 = (uint)lVar6;\n      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n      appuStack_74[4] = (undefined **)lVar23;\n      local_7c[0] = (undefined **)*local_58;\n      cVar11 = FUN_001395e0();\n      ppuVar15 = appuStack_74[2];\n      if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }\n      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);\n      local_4c._0_4_ = (uint)lVar23;\n      iVar12 = (int)((ulonglong)lVar6 >> 0x20);\n      uVar18 = (uint)((uint)local_4c < (uint)lVar6);\n      bVar22 = SBORROW4(local_4c._4_4_,iVar12);\n      iVar12 = local_4c._4_4_ - iVar12;\n      local_4c = lVar23;\n      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }\n      cVar11 = (**(code **)(*local_7c[0] + 0x18))();\n      if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }\n      appuStack_74[2] = appuStack_74[2] + 1;\n    }" ({ "{") (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" (identifier "iVar12") (= "=") (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar6")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar19 = (undefined *)lVar6;" (assignment_expression "puVar19 = (undefined *)lVar6" (identifier "puVar19") (= "=") (cast_expression "(undefined *)lVar6" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar6"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x8;" (assignment_expression "local_7c[1] = (undefined **)0x8" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x8" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x8"))) (; ";")) (expression_statement "local_32 = (**(code **)(*local_7c[0] + 0x1c))();" (assignment_expression "local_32 = (**(code **)(*local_7c[0] + 0x1c))()" (identifier "local_32") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x1c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x1c))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x1c)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x1c)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x1c)" (( "(") (binary_expression "*local_7c[0] + 0x1c" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (expression_statement "appuStack_74[0] = (undefined **)0x0;" (assignment_expression "appuStack_74[0] = (undefined **)0x0" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x400;" (assignment_expression "local_7c[1] = (undefined **)0x400" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x400" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x400"))) (; ";")) (expression_statement "local_33 = (**(code **)(*local_7c[0] + 0x20))();" (assignment_expression "local_33 = (**(code **)(*local_7c[0] + 0x20))()" (identifier "local_33") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x20))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x20))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x20)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x20)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x20)" (( "(") (binary_expression "*local_7c[0] + 0x20" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_31 != '\0') {\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" (if "if") (parenthesized_expression "(local_31 != '\0')" (( "(") (binary_expression "local_31 != '\0'" (identifier "local_31") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_7c[0] = (undefined **)*ppuVar15;\n        bVar3 = *(byte *)(local_7c[0] + 7);\n        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;\n        if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }\n        (**(code **)(*local_7c[0] + 0x3c))();\n      }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (expression_statement "bVar3 = *(byte *)(local_7c[0] + 7);" (assignment_expression "bVar3 = *(byte *)(local_7c[0] + 7)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(local_7c[0] + 7)" (* "*") (cast_expression "(byte *)(local_7c[0] + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c[0] + 7)" (( "(") (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xfa" (pointer_expression "*(byte *)(local_7c[0] + 7)" (* "*") (cast_expression "(byte *)(local_7c[0] + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c[0] + 7)" (( "(") (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 & 0xfa" (identifier "bVar3") (& "&") (number_literal "0xfa"))) (; ";")) (if_statement "if ((bVar3 & 8) == 0) {\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" (if "if") (parenthesized_expression "((bVar3 & 8) == 0)" (( "(") (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" (( "(") (binary_expression "bVar3 & 8" (identifier "bVar3") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;\n        }" ({ "{") (expression_statement "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;" (assignment_expression "*(byte *)(local_7c[0] + 7) = bVar3 & 0xf8" (pointer_expression "*(byte *)(local_7c[0] + 7)" (* "*") (cast_expression "(byte *)(local_7c[0] + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c[0] + 7)" (( "(") (binary_expression "local_7c[0] + 7" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 & 0xf8" (identifier "bVar3") (& "&") (number_literal "0xf8"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*local_7c[0] + 0x3c))();" (call_expression "(**(code **)(*local_7c[0] + 0x3c))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x3c))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x3c)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x3c)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x3c)" (( "(") (binary_expression "*local_7c[0] + 0x3c" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (if_statement "if (((uint)local_7c[0][7] & 1) == 0) {\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }\n      else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" (if "if") (parenthesized_expression "(((uint)local_7c[0][7] & 1) == 0)" (( "(") (binary_expression "((uint)local_7c[0][7] & 1) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 1)" (( "(") (binary_expression "(uint)local_7c[0][7] & 1" (cast_expression "(uint)local_7c[0][7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar23 = (**(code **)(*local_7c[0] + 0xc))();\n        local_54 = lVar23;\n        if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }\n        local_58 = local_30;\n        local_7c[0] = (undefined **)*local_30;\n        local_54 = lVar23;\n        cVar11 = FUN_001395e0();\n        ppuVar15 = appuStack_74[2];\n        if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }\n      }" ({ "{") (expression_statement "lVar23 = (**(code **)(*local_7c[0] + 0xc))();" (assignment_expression "lVar23 = (**(code **)(*local_7c[0] + 0xc))()" (identifier "lVar23") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0xc))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0xc))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0xc)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0xc)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0xc)" (( "(") (binary_expression "*local_7c[0] + 0xc" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" (identifier "local_54") (= "=") (identifier "lVar23")) (; ";")) (if_statement "if (local_33 == '\0') {\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }\n        else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" (if "if") (parenthesized_expression "(local_33 == '\0')" (( "(") (binary_expression "local_33 == '\0'" (identifier "local_33") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }\n        }" ({ "{") (if_statement "if (*param_10 != '\0') {\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" (if "if") (parenthesized_expression "(*param_10 != '\0')" (( "(") (binary_expression "*param_10 != '\0'" (pointer_expression "*param_10" (* "*") (identifier "param_10")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_7c[0] = *(undefined ***)(param_2 + 0x164);\n            lVar24 = FUN_000efe40();\n            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);\n            lVar23 = local_54;\n            if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }\n            *param_10 = '\0';\n          }" ({ "{") (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(undefined ***)(param_2 + 0x164)" (* "*") (cast_expression "(undefined ***)(param_2 + 0x164)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_2 + 0x164)" (( "(") (binary_expression "param_2 + 0x164" (identifier "param_2") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "lVar24 = FUN_000efe40();" (assignment_expression "lVar24 = FUN_000efe40()" (identifier "lVar24") (= "=") (call_expression "FUN_000efe40()" (identifier "FUN_000efe40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar18 = (uint)((ulonglong)lVar24 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar24 >> 0x20)" (identifier "uVar18") (= "=") (call_expression "(uint)((ulonglong)lVar24 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar24")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "lVar23 = local_54;" (assignment_expression "lVar23 = local_54" (identifier "lVar23") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {\n              lVar23 = lVar24;\n            }" (if "if") (parenthesized_expression "(local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24))" (( "(") (binary_expression "local_54._4_4_ < uVar18 ||\n                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "local_54._4_4_ < uVar18" (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")) (< "<") (identifier "uVar18")) (|| "||") (binary_expression "(int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)" (binary_expression "(int)local_54._4_4_ - uVar18" (cast_expression "(int)local_54._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (- "-") (identifier "uVar18")) (< "<") (call_expression "(uint)((undefined **)local_54 < (uint)lVar24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined **)local_54 < (uint)lVar24)" (( "(") (binary_expression "(undefined **)local_54 < (uint)lVar24" (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")) (< "<") (cast_expression "(uint)lVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar24"))) () ")"))))) () ")")) (compound_statement "{\n              lVar23 = lVar24;\n            }" ({ "{") (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" (identifier "lVar23") (= "=") (identifier "lVar24")) (; ";")) (} "}"))) (expression_statement "*param_10 = '\0';" (assignment_expression "*param_10 = '\0'" (pointer_expression "*param_10" (* "*") (identifier "param_10")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" (else "else") (if_statement "if (*param_10 == '\0') {\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" (if "if") (parenthesized_expression "(*param_10 == '\0')" (( "(") (binary_expression "*param_10 == '\0'" (pointer_expression "*param_10" (* "*") (identifier "param_10")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_7c[0] = *(undefined ***)(param_2 + 0x164);\n          if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }\n          lVar23 = FUN_000efe40();\n          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);\n          if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }\n          *param_10 = '\x01';\n        }" ({ "{") (expression_statement "local_7c[0] = *(undefined ***)(param_2 + 0x164);" (assignment_expression "local_7c[0] = *(undefined ***)(param_2 + 0x164)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(undefined ***)(param_2 + 0x164)" (* "*") (cast_expression "(undefined ***)(param_2 + 0x164)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_2 + 0x164)" (( "(") (binary_expression "param_2 + 0x164" (identifier "param_2") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (if_statement "if (local_7c[0] == (undefined **)0x0) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(local_7c[0] == (undefined **)0x0)" (( "(") (binary_expression "local_7c[0] == (undefined **)0x0" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c4;\n                    \n            FUN_00069d00();\n          }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed77"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" (( "(") (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x11c4;" (assignment_expression "local_7c[1] = (undefined **)0x11c4" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x11c4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11c4"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar23 = FUN_000efe40();" (assignment_expression "lVar23 = FUN_000efe40()" (identifier "lVar23") (= "=") (call_expression "FUN_000efe40()" (identifier "FUN_000efe40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar18 = (uint)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar23 >> 0x20)" (identifier "uVar18") (= "=") (call_expression "(uint)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54))" (( "(") (binary_expression "uVar18 < local_54._4_4_ ||\n              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 < local_54._4_4_" (identifier "uVar18") (< "<") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (|| "||") (binary_expression "uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)" (binary_expression "uVar18 - (int)local_54._4_4_" (identifier "uVar18") (- "-") (cast_expression "(int)local_54._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")))) (< "<") (call_expression "(uint)((uint)lVar23 < (undefined **)local_54)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar23 < (undefined **)local_54)" (( "(") (binary_expression "(uint)lVar23 < (undefined **)local_54" (cast_expression "(uint)lVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar23")) (< "<") (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54"))) () ")"))))) () ")")) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11c6;\n                    \n            FUN_00069d00();\n          }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed77"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" (( "(") (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x11c6;" (assignment_expression "local_7c[1] = (undefined **)0x11c6" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x11c6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11c6"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*param_10 = '\x01';" (assignment_expression "*param_10 = '\x01'" (pointer_expression "*param_10" (* "*") (identifier "param_10")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}"))))) (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" (identifier "local_58") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_7c[0] = (undefined **)*local_30;" (assignment_expression "local_7c[0] = (undefined **)*local_30" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*local_30" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_30" (* "*") (identifier "local_30")))) (; ";")) (expression_statement "local_54 = lVar23;" (assignment_expression "local_54 = lVar23" (identifier "local_54") (= "=") (identifier "lVar23")) (; ";")) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" (identifier "cVar11") (= "=") (call_expression "FUN_001395e0()" (identifier "FUN_001395e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (cVar11 == '\0') {\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }\n        else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" (if "if") (parenthesized_expression "(cVar11 == '\0')" (( "(") (binary_expression "cVar11 == '\0'" (identifier "cVar11") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar18 = CONCAT31(local_2c._1_3_,local_32);\n          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);\n          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          uVar9 = CONCAT44(local_2c._4_4_,uVar18);\n          uVar8 = CONCAT44(local_2c._4_4_,uVar18);\n          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }\n          if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }\n          if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }\n          ppuVar15 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar15 + 7);\n          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;\n          if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }\n          *(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar15 + 7) = bVar3 | 1;\n          local_2c = uVar8 ^ 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          *(byte *)(ppuVar15 + 7) = bVar3 | 5;\n          *(longlong *)(ppuVar15 + 5) = lVar24;\n          lVar23 = lVar24;\n          local_2c = uVar9 ^ 1;\njoined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }\n        }" ({ "{") (expression_statement "uVar18 = CONCAT31(local_2c._1_3_,local_32);" (assignment_expression "uVar18 = CONCAT31(local_2c._1_3_,local_32)" (identifier "uVar18") (= "=") (call_expression "CONCAT31(local_2c._1_3_,local_32)" (identifier "CONCAT31") (argument_list "(local_2c._1_3_,local_32)" (( "(") (field_expression "local_2c._1_3_" (identifier "local_2c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "local_32") () ")")))) (; ";")) (expression_statement "local_2c._0_4_ = (undefined *)(uVar18 ^ 1);" (assignment_expression "local_2c._0_4_ = (undefined *)(uVar18 ^ 1)" (field_expression "local_2c._0_4_" (identifier "local_2c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined *)(uVar18 ^ 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 ^ 1)" (( "(") (binary_expression "uVar18 ^ 1" (identifier "uVar18") (^ "^") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1" (identifier "uVar10") (= "=") (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" (identifier "CONCAT44") (argument_list "(local_2c._4_4_,uVar18)" (( "(") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar18") () ")"))) (^ "^") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar9 = CONCAT44(local_2c._4_4_,uVar18)" (identifier "uVar9") (= "=") (call_expression "CONCAT44(local_2c._4_4_,uVar18)" (identifier "CONCAT44") (argument_list "(local_2c._4_4_,uVar18)" (( "(") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar8 = CONCAT44(local_2c._4_4_,uVar18);" (assignment_expression "uVar8 = CONCAT44(local_2c._4_4_,uVar18)" (identifier "uVar8") (= "=") (call_expression "CONCAT44(local_2c._4_4_,uVar18)" (identifier "CONCAT44") (argument_list "(local_2c._4_4_,uVar18)" (( "(") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1))" (( "(") (binary_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)" (parenthesized_expression "(lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4]))" (( "(") (binary_expression "lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar6") (!= "!=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(local_32 != 1)" (( "(") (binary_expression "local_32 != 1" (identifier "local_32") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n            local_7c[1] = (undefined **)0x11df;\n                    \n            FUN_00069d00();\n          }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed77"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" (( "(") (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x11df;" (assignment_expression "local_7c[1] = (undefined **)0x11df" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x11df" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11df"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_54 != 0) {\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" (if "if") (parenthesized_expression "(local_54 != 0)" (( "(") (binary_expression "local_54 != 0" (identifier "local_54") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar6 = local_54 + lVar6 + -1;\n            lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);\n          }" ({ "{") (expression_statement "lVar6 = local_54 + lVar6 + -1;" (assignment_expression "lVar6 = local_54 + lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "local_54 + lVar6 + -1" (binary_expression "local_54 + lVar6" (identifier "local_54") (+ "+") (identifier "lVar6")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6);" (assignment_expression "lVar6 = CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" (identifier "lVar6") (= "=") (call_expression "CONCAT44(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" (identifier "CONCAT44") (argument_list "(-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20),\n                             -(int)(undefined **)local_54 & (uint)lVar6)" (( "(") (binary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)) &\n                             (uint)((ulonglong)lVar6 >> 0x20)" (unary_expression "-((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" (- "-") (parenthesized_expression "((int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0))" (( "(") (binary_expression "(int)local_54._4_4_ +\n                              (uint)((undefined **)local_54 != (undefined **)0x0)" (cast_expression "(int)local_54._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (+ "+") (call_expression "(uint)((undefined **)local_54 != (undefined **)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined **)local_54 != (undefined **)0x0)" (( "(") (binary_expression "(undefined **)local_54 != (undefined **)0x0" (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")) (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")))) () ")"))) (& "&") (call_expression "(uint)((ulonglong)lVar6 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar6 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar6")) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (binary_expression "-(int)(undefined **)local_54 & (uint)lVar6" (unary_expression "-(int)(undefined **)local_54" (- "-") (cast_expression "(int)(undefined **)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")))) (& "&") (cast_expression "(uint)lVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar6"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {\n            lVar24 = lVar6;\n          }" (if "if") (parenthesized_expression "(((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'))" (( "(") (binary_expression "((char)local_2c != '\0') ||\n             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" (parenthesized_expression "((char)local_2c != '\0')" (( "(") (binary_expression "(char)local_2c != '\0'" (cast_expression "(char)local_2c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_2c")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')" (( "(") (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar24") (= "=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) (, ",") (binary_expression "local_33 != '\0'" (identifier "local_33") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n            lVar24 = lVar6;\n          }" ({ "{") (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" (identifier "lVar24") (= "=") (identifier "lVar6")) (; ";")) (} "}"))) (expression_statement "ppuVar15 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar15 = (undefined **)*appuStack_74[2]" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "bVar3 = *(byte *)(ppuVar15 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar15 + 7)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(ppuVar15 + 7)" (* "*") (cast_expression "(byte *)(ppuVar15 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar15 + 7)" (( "(") (binary_expression "ppuVar15 + 7" (identifier "ppuVar15") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;" (assignment_expression "local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1" (identifier "local_2c") (= "=") (binary_expression "CONCAT44(local_2c._4_4_,uVar18) ^ 1" (call_expression "CONCAT44(local_2c._4_4_,uVar18)" (identifier "CONCAT44") (argument_list "(local_2c._4_4_,uVar18)" (( "(") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar18") () ")"))) (^ "^") (number_literal "1"))) (; ";")) (if_statement "if ((bVar3 & 1) != 0) {\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((bVar3 & 1) != 0)" (( "(") (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec20;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x142;\n                    \n            FUN_00069d00();\n          }" ({ "{") (labeled_statement "LAB_000f089e:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (statement_identifier "LAB_000f089e") (: ":") (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar24")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)lVar24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar24"))) (; ";")) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec20;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ec20" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ec20"))) (; ";")) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x142;" (assignment_expression "local_7c[1] = (undefined **)0x142" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x142" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x142"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar15 + 1) =\n               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar15 + 1)" (* "*") (cast_expression "(longlong *)(ppuVar15 + 1)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar15 + 1)" (( "(") (binary_expression "ppuVar15 + 1" (identifier "ppuVar15") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "(lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar6 - CONCAT44(local_40,local_44))" (( "(") (binary_expression "lVar6 - CONCAT44(local_40,local_44)" (identifier "lVar6") (- "-") (call_expression "CONCAT44(local_40,local_44)" (identifier "CONCAT44") (argument_list "(local_40,local_44)" (( "(") (identifier "local_40") (, ",") (identifier "local_44") () ")")))) () ")")) (+ "+") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))))) (; ";")) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar15 + 7)" (* "*") (cast_expression "(byte *)(ppuVar15 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar15 + 7)" (( "(") (binary_expression "ppuVar15 + 7" (identifier "ppuVar15") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 | 1" (identifier "bVar3") (| "|") (number_literal "1"))) (; ";")) (expression_statement "local_2c = uVar8 ^ 1;" (assignment_expression "local_2c = uVar8 ^ 1" (identifier "local_2c") (= "=") (binary_expression "uVar8 ^ 1" (identifier "uVar8") (^ "^") (number_literal "1"))) (; ";")) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" (if "if") (parenthesized_expression "((bVar3 & 4) != 0)" (( "(") (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f087f;" (goto "goto") (statement_identifier "LAB_000f087f") (; ";"))) (expression_statement "*(byte *)(ppuVar15 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar15 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar15 + 7)" (* "*") (cast_expression "(byte *)(ppuVar15 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar15 + 7)" (( "(") (binary_expression "ppuVar15 + 7" (identifier "ppuVar15") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 | 5" (identifier "bVar3") (| "|") (number_literal "5"))) (; ";")) (expression_statement "*(longlong *)(ppuVar15 + 5) = lVar24;" (assignment_expression "*(longlong *)(ppuVar15 + 5) = lVar24" (pointer_expression "*(longlong *)(ppuVar15 + 5)" (* "*") (cast_expression "(longlong *)(ppuVar15 + 5)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar15 + 5)" (( "(") (binary_expression "ppuVar15 + 5" (identifier "ppuVar15") (+ "+") (number_literal "5")) () ")")))) (= "=") (identifier "lVar24")) (; ";")) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" (identifier "lVar23") (= "=") (identifier "lVar24")) (; ";")) (expression_statement "local_2c = uVar9 ^ 1;" (assignment_expression "local_2c = uVar9 ^ 1" (identifier "local_2c") (= "=") (binary_expression "uVar9 ^ 1" (identifier "uVar9") (^ "^") (number_literal "1"))) (; ";")) (labeled_statement "joined_r0x000f0642:\n          if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" (statement_identifier "joined_r0x000f0642") (: ":") (if_statement "if ((bVar3 & 2) == 0) {\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" (if "if") (parenthesized_expression "((bVar3 & 2) == 0)" (( "(") (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" (( "(") (binary_expression "bVar3 & 2" (identifier "bVar3") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar23;\n            local_7c[0] = ppuVar15;\n            local_2c = uVar10;\n            (**(code **)(*ppuVar15 + 0x38))();\n            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }\n          }" ({ "{") (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)lVar23" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "local_7c[0] = ppuVar15;" (assignment_expression "local_7c[0] = ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "local_2c = uVar10;" (assignment_expression "local_2c = uVar10" (identifier "local_2c") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "(**(code **)(*ppuVar15 + 0x38))();" (call_expression "(**(code **)(*ppuVar15 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar15 + 0x38))" (( "(") (pointer_expression "**(code **)(*ppuVar15 + 0x38)" (* "*") (pointer_expression "*(code **)(*ppuVar15 + 0x38)" (* "*") (cast_expression "(code **)(*ppuVar15 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*ppuVar15 + 0x38)" (( "(") (binary_expression "*ppuVar15 + 0x38" (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar23") (= "=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) (; ";")) (if_statement "if (((uint)ppuVar15[7] & 2) == 0) {\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }" (if "if") (parenthesized_expression "(((uint)ppuVar15[7] & 2) == 0)" (( "(") (binary_expression "((uint)ppuVar15[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar15[7] & 2)" (( "(") (binary_expression "(uint)ppuVar15[7] & 2" (cast_expression "(uint)ppuVar15[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppuVar15[7]" (identifier "ppuVar15") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;\n              local_7c[0] = appuStack_74[3] + -0x41c55;\n              local_7c[1] = (undefined **)0x163;\n                    \n              FUN_00069d00();\n            }" ({ "{") (labeled_statement "LAB_000f08bd:\n              appuStack_74[0] = appuStack_74[3] + -0x3ec29;" (statement_identifier "LAB_000f08bd") (: ":") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec29;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ec29" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ec29"))) (; ";"))) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x163;" (assignment_expression "local_7c[1] = (undefined **)0x163" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x163" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x163"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" (else "else") (compound_statement "{\n          local_7c[0] = (undefined **)*appuStack_74[2];\n          lVar6 = local_54;\n          if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }\n          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);\n          local_54._0_4_ = (undefined **)lVar6;\n          appuStack_74[5] = (undefined **)local_7c[0][4];\n          appuStack_74[4] = (undefined **)local_7c[0][3];\n          appuStack_74[0] = (undefined **)local_40;\n          local_7c[1] = local_44;\n          local_7c[0] = local_54._4_4_;\n          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);\n          local_54 = lVar6;\n          ppuVar15 = appuStack_74[2];\n          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n          if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }\n          ppuVar16 = (undefined **)*appuStack_74[2];\n          bVar3 = *(byte *)(ppuVar16 + 7);\n          if ((bVar3 & 1) != 0) goto LAB_000f089e;\n          *(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);\n          *(byte *)(ppuVar16 + 7) = bVar3 | 1;\n          if ((bVar3 & 4) != 0) goto LAB_000f087f;\n          ppuVar16[5] = (undefined *)lVar23;\n          *(byte *)(ppuVar16 + 7) = bVar3 | 5;\n          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);\n          if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }\n          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];\n          lVar6 = lVar23;\n          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }\n        }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" (identifier "lVar6") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" (if "if") (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" (( "(") (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" (( "(") (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(*local_7c[0] + 0x34))();\n            local_7c[0] = (undefined **)*ppuVar15;\n            lVar6 = local_54;\n          }" ({ "{") (expression_statement "(**(code **)(*local_7c[0] + 0x34))();" (call_expression "(**(code **)(*local_7c[0] + 0x34))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x34))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x34)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x34)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x34)" (( "(") (binary_expression "*local_7c[0] + 0x34" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (expression_statement "lVar6 = local_54;" (assignment_expression "lVar6 = local_54" (identifier "lVar6") (= "=") (identifier "local_54")) (; ";")) (} "}"))) (expression_statement "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);" (assignment_expression "local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20)" (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined **)((ulonglong)lVar6 >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar6")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_54._0_4_ = (undefined **)lVar6;" (assignment_expression "local_54._0_4_ = (undefined **)lVar6" (field_expression "local_54._0_4_" (identifier "local_54") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined **)lVar6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar6"))) (; ";")) (expression_statement "appuStack_74[5] = (undefined **)local_7c[0][4];" (assignment_expression "appuStack_74[5] = (undefined **)local_7c[0][4]" (subscript_expression "appuStack_74[5]" (identifier "appuStack_74") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(undefined **)local_7c[0][4]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "appuStack_74[4] = (undefined **)local_7c[0][3];" (assignment_expression "appuStack_74[4] = (undefined **)local_7c[0][3]" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)local_7c[0][3]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "appuStack_74[0] = (undefined **)local_40;" (assignment_expression "appuStack_74[0] = (undefined **)local_40" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)local_40" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_40"))) (; ";")) (expression_statement "local_7c[1] = local_44;" (assignment_expression "local_7c[1] = local_44" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54);" (assignment_expression "lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" (identifier "lVar23") (= "=") (call_expression "FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" (identifier "FUN_000965d0") (argument_list "(param_2 + 0x248,appuStack_74[4],appuStack_74[5],\n                                (undefined **)local_54)" (( "(") (binary_expression "param_2 + 0x248" (identifier "param_2") (+ "+") (number_literal "0x248")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "appuStack_74[5]" (identifier "appuStack_74") ([ "[") (number_literal "5") (] "]")) (, ",") (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "local_54 = lVar6;" (assignment_expression "local_54 = lVar6" (identifier "local_54") (= "=") (identifier "lVar6")) (; ";")) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar24") (= "=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) (; ";")) (if_statement "if (lVar23 == -1) {\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" (if "if") (parenthesized_expression "(lVar23 == -1)" (( "(") (binary_expression "lVar23 == -1" (identifier "lVar23") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            local_7c[0] = (undefined **)*appuStack_74[2];\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = (undefined **)*ppuVar15;\n            pppuVar17 = local_7c;\n            iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n            uVar20 = *(undefined4 *)(iVar12 + 0x20);\n            ppuVar15 = appuStack_74[3] + -0x410f3;\n            ppuVar16 = appuStack_74[3];\n            goto LAB_000f07c4;\n          }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" (identifier "iVar12") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x24)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x24)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x24)" (( "(") (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x11ee;\n                    \n              FUN_00069d00();\n            }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed77"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" (( "(") (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x11ee;" (assignment_expression "local_7c[1] = (undefined **)0x11ee" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x11ee" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11ee"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (expression_statement "pppuVar17 = local_7c;" (assignment_expression "pppuVar17 = local_7c" (identifier "pppuVar17") (= "=") (identifier "local_7c")) (; ";")) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" (identifier "iVar12") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x24)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x24)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x24)" (( "(") (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x20)" (( "(") (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "ppuVar15 = appuStack_74[3] + -0x410f3;" (assignment_expression "ppuVar15 = appuStack_74[3] + -0x410f3" (identifier "ppuVar15") (= "=") (binary_expression "appuStack_74[3] + -0x410f3" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x410f3"))) (; ";")) (expression_statement "ppuVar16 = appuStack_74[3];" (assignment_expression "ppuVar16 = appuStack_74[3]" (identifier "ppuVar16") (= "=") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_000f07c4;" (goto "goto") (statement_identifier "LAB_000f07c4") (; ";")) (} "}"))) (expression_statement "ppuVar16 = (undefined **)*appuStack_74[2];" (assignment_expression "ppuVar16 = (undefined **)*appuStack_74[2]" (identifier "ppuVar16") (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "bVar3 = *(byte *)(ppuVar16 + 7);" (assignment_expression "bVar3 = *(byte *)(ppuVar16 + 7)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(ppuVar16 + 7)" (* "*") (cast_expression "(byte *)(ppuVar16 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar16 + 7)" (( "(") (binary_expression "ppuVar16 + 7" (identifier "ppuVar16") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 1) != 0) goto LAB_000f089e;" (if "if") (parenthesized_expression "((bVar3 & 1) != 0)" (( "(") (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f089e;" (goto "goto") (statement_identifier "LAB_000f089e") (; ";"))) (expression_statement "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "*(longlong *)(ppuVar16 + 1) =\n               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (pointer_expression "*(longlong *)(ppuVar16 + 1)" (* "*") (cast_expression "(longlong *)(ppuVar16 + 1)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar16 + 1)" (( "(") (binary_expression "ppuVar16 + 1" (identifier "ppuVar16") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "(lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(lVar23 - CONCAT44(local_40,local_44))" (( "(") (binary_expression "lVar23 - CONCAT44(local_40,local_44)" (identifier "lVar23") (- "-") (call_expression "CONCAT44(local_40,local_44)" (identifier "CONCAT44") (argument_list "(local_40,local_44)" (( "(") (identifier "local_40") (, ",") (identifier "local_44") () ")")))) () ")")) (+ "+") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))))) (; ";")) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 1;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 1" (pointer_expression "*(byte *)(ppuVar16 + 7)" (* "*") (cast_expression "(byte *)(ppuVar16 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar16 + 7)" (( "(") (binary_expression "ppuVar16 + 7" (identifier "ppuVar16") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 | 1" (identifier "bVar3") (| "|") (number_literal "1"))) (; ";")) (if_statement "if ((bVar3 & 4) != 0) goto LAB_000f087f;" (if "if") (parenthesized_expression "((bVar3 & 4) != 0)" (( "(") (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f087f;" (goto "goto") (statement_identifier "LAB_000f087f") (; ";"))) (expression_statement "ppuVar16[5] = (undefined *)lVar23;" (assignment_expression "ppuVar16[5] = (undefined *)lVar23" (subscript_expression "ppuVar16[5]" (identifier "ppuVar16") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(undefined *)lVar23" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "*(byte *)(ppuVar16 + 7) = bVar3 | 5;" (assignment_expression "*(byte *)(ppuVar16 + 7) = bVar3 | 5" (pointer_expression "*(byte *)(ppuVar16 + 7)" (* "*") (cast_expression "(byte *)(ppuVar16 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar16 + 7)" (( "(") (binary_expression "ppuVar16 + 7" (identifier "ppuVar16") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 | 5" (identifier "bVar3") (| "|") (number_literal "5"))) (; ";")) (expression_statement "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);" (assignment_expression "ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20)" (subscript_expression "ppuVar16[6]" (identifier "ppuVar16") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined *)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((bVar3 & 2) == 0) {\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" (if "if") (parenthesized_expression "((bVar3 & 2) == 0)" (( "(") (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" (( "(") (binary_expression "bVar3 & 2" (identifier "bVar3") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_7c[0] = ppuVar16;\n            (**(code **)(*ppuVar16 + 0x38))();\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;\n            ppuVar16 = (undefined **)*ppuVar15;\n            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;\n          }" ({ "{") (expression_statement "local_7c[0] = ppuVar16;" (assignment_expression "local_7c[0] = ppuVar16" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "ppuVar16")) (; ";")) (expression_statement "(**(code **)(*ppuVar16 + 0x38))();" (call_expression "(**(code **)(*ppuVar16 + 0x38))()" (parenthesized_expression "(**(code **)(*ppuVar16 + 0x38))" (( "(") (pointer_expression "**(code **)(*ppuVar16 + 0x38)" (* "*") (pointer_expression "*(code **)(*ppuVar16 + 0x38)" (* "*") (cast_expression "(code **)(*ppuVar16 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*ppuVar16 + 0x38)" (( "(") (binary_expression "*ppuVar16 + 0x38" (pointer_expression "*ppuVar16" (* "*") (identifier "ppuVar16")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;" (if "if") (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" (( "(") (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" (( "(") (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppuVar16[7]" (identifier "ppuVar16") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f08bd;" (goto "goto") (statement_identifier "LAB_000f08bd") (; ";"))) (expression_statement "ppuVar16 = (undefined **)*ppuVar15;" (assignment_expression "ppuVar16 = (undefined **)*ppuVar15" (identifier "ppuVar16") (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (if_statement "if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;" (if "if") (parenthesized_expression "(((uint)ppuVar16[7] & 2) == 0)" (( "(") (binary_expression "((uint)ppuVar16[7] & 2) == 0" (parenthesized_expression "((uint)ppuVar16[7] & 2)" (( "(") (binary_expression "(uint)ppuVar16[7] & 2" (cast_expression "(uint)ppuVar16[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppuVar16[7]" (identifier "ppuVar16") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f0860;" (goto "goto") (statement_identifier "LAB_000f0860") (; ";"))) (} "}"))) (expression_statement "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];" (assignment_expression "iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4]" (identifier "iVar12") (= "=") (binary_expression "(int)appuStack_74[5] - (int)ppuVar16[4]" (cast_expression "(int)appuStack_74[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[5]" (identifier "appuStack_74") ([ "[") (number_literal "5") (] "]"))) (- "-") (cast_expression "(int)ppuVar16[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar16[4]" (identifier "ppuVar16") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "lVar6 = lVar23;" (assignment_expression "lVar6 = lVar23" (identifier "lVar6") (= "=") (identifier "lVar23")) (; ";")) (if_statement "if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0)" (( "(") (binary_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=\n              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3])))" (( "(") (binary_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=\n              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" (call_expression "SBORROW4((int)appuStack_74[5],(int)ppuVar16[4])" (identifier "SBORROW4") (argument_list "((int)appuStack_74[5],(int)ppuVar16[4])" (( "(") (cast_expression "(int)appuStack_74[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[5]" (identifier "appuStack_74") ([ "[") (number_literal "5") (] "]"))) (, ",") (cast_expression "(int)ppuVar16[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar16[4]" (identifier "ppuVar16") ([ "[") (number_literal "4") (] "]"))) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" (identifier "SBORROW4") (argument_list "(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))" (( "(") (identifier "iVar12") (, ",") (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(appuStack_74[4] < ppuVar16[3])" (( "(") (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (< "<") (subscript_expression "ppuVar16[3]" (identifier "ppuVar16") ([ "[") (number_literal "3") (] "]"))) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0" (cast_expression "(int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3]))" (( "(") (binary_expression "iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])" (identifier "iVar12") (- "-") (call_expression "(uint)(appuStack_74[4] < ppuVar16[3])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(appuStack_74[4] < ppuVar16[3])" (( "(") (binary_expression "appuStack_74[4] < ppuVar16[3]" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (< "<") (subscript_expression "ppuVar16[3]" (identifier "ppuVar16") ([ "[") (number_literal "3") (] "]"))) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n            while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }\n            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;\n            pppuVar17[-3] = (undefined **)0x11f6;\n            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);\n                    \n            pppuVar17[-5] = (undefined **)0xf0843;\n            FUN_00069d00();\n          }" ({ "{") (while_statement "while( true ) {\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              puVar4 = *pppuVar17;\n              puVar19 = *ppuVar16;\n              pppuVar17[-4] = ppuVar16;\n              pcVar5 = *(code **)(puVar19 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07e3;\n              iVar12 = (*pcVar5)();\n              if (iVar12 == 0) break;\n              iVar12 = *(int *)*puVar4;\n              pppuVar17[-4] = (undefined **)*puVar4;\n              pcVar5 = *(code **)(iVar12 + 0x24);\n              pppuVar17[-5] = (undefined **)0xf07f6;\n              iVar12 = (*pcVar5)();\n              pppuVar2 = pppuVar17 + 1;\n              uVar20 = *(undefined4 *)(iVar12 + 0x20);\n              ppuVar15 = *pppuVar2 + -0x410e2;\n              pppuVar17 = pppuVar17 + -4;\n              ppuVar16 = *pppuVar2;\nLAB_000f07c4:\n              *pppuVar17 = ppuVar15;\n              ((int *)pppuVar17)[-1] = 0xf07ce;\n              uVar14 = gettext();\n              ((int *)pppuVar17)[1] = uVar20;\n              *pppuVar17 = (undefined **)uVar14;\n              ((int *)pppuVar17)[-1] = 0xf07d7;\n              FUN_00065480();\n            }" ({ "{") (expression_statement "puVar4 = *pppuVar17;" (assignment_expression "puVar4 = *pppuVar17" (identifier "puVar4") (= "=") (pointer_expression "*pppuVar17" (* "*") (identifier "pppuVar17"))) (; ";")) (expression_statement "puVar19 = *ppuVar16;" (assignment_expression "puVar19 = *ppuVar16" (identifier "puVar19") (= "=") (pointer_expression "*ppuVar16" (* "*") (identifier "ppuVar16"))) (; ";")) (expression_statement "pppuVar17[-4] = ppuVar16;" (assignment_expression "pppuVar17[-4] = ppuVar16" (subscript_expression "pppuVar17[-4]" (identifier "pppuVar17") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "ppuVar16")) (; ";")) (expression_statement "pcVar5 = *(code **)(puVar19 + 0x24);" (assignment_expression "pcVar5 = *(code **)(puVar19 + 0x24)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(puVar19 + 0x24)" (* "*") (cast_expression "(code **)(puVar19 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x24)" (( "(") (binary_expression "puVar19 + 0x24" (identifier "puVar19") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "pppuVar17[-5] = (undefined **)0xf07e3;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07e3" (subscript_expression "pppuVar17[-5]" (identifier "pppuVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(undefined **)0xf07e3" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xf07e3"))) (; ";")) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" (identifier "iVar12") (= "=") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = *(int *)*puVar4;" (assignment_expression "iVar12 = *(int *)*puVar4" (identifier "iVar12") (= "=") (pointer_expression "*(int *)*puVar4" (* "*") (cast_expression "(int *)*puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4"))))) (; ";")) (expression_statement "pppuVar17[-4] = (undefined **)*puVar4;" (assignment_expression "pppuVar17[-4] = (undefined **)*puVar4" (subscript_expression "pppuVar17[-4]" (identifier "pppuVar17") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(undefined **)*puVar4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) (; ";")) (expression_statement "pcVar5 = *(code **)(iVar12 + 0x24);" (assignment_expression "pcVar5 = *(code **)(iVar12 + 0x24)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(iVar12 + 0x24)" (* "*") (cast_expression "(code **)(iVar12 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + 0x24)" (( "(") (binary_expression "iVar12 + 0x24" (identifier "iVar12") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "pppuVar17[-5] = (undefined **)0xf07f6;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf07f6" (subscript_expression "pppuVar17[-5]" (identifier "pppuVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(undefined **)0xf07f6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xf07f6"))) (; ";")) (expression_statement "iVar12 = (*pcVar5)();" (assignment_expression "iVar12 = (*pcVar5)()" (identifier "iVar12") (= "=") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppuVar2 = pppuVar17 + 1;" (assignment_expression "pppuVar2 = pppuVar17 + 1" (identifier "pppuVar2") (= "=") (binary_expression "pppuVar17 + 1" (identifier "pppuVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar20 = *(undefined4 *)(iVar12 + 0x20);" (assignment_expression "uVar20 = *(undefined4 *)(iVar12 + 0x20)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x20)" (( "(") (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "ppuVar15 = *pppuVar2 + -0x410e2;" (assignment_expression "ppuVar15 = *pppuVar2 + -0x410e2" (identifier "ppuVar15") (= "=") (binary_expression "*pppuVar2 + -0x410e2" (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2")) (+ "+") (number_literal "-0x410e2"))) (; ";")) (expression_statement "pppuVar17 = pppuVar17 + -4;" (assignment_expression "pppuVar17 = pppuVar17 + -4" (identifier "pppuVar17") (= "=") (binary_expression "pppuVar17 + -4" (identifier "pppuVar17") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "ppuVar16 = *pppuVar2;" (assignment_expression "ppuVar16 = *pppuVar2" (identifier "ppuVar16") (= "=") (pointer_expression "*pppuVar2" (* "*") (identifier "pppuVar2"))) (; ";")) (labeled_statement "LAB_000f07c4:\n              *pppuVar17 = ppuVar15;" (statement_identifier "LAB_000f07c4") (: ":") (expression_statement "*pppuVar17 = ppuVar15;" (assignment_expression "*pppuVar17 = ppuVar15" (pointer_expression "*pppuVar17" (* "*") (identifier "pppuVar17")) (= "=") (identifier "ppuVar15")) (; ";"))) (expression_statement "((int *)pppuVar17)[-1] = 0xf07ce;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07ce" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" (( "(") (cast_expression "(int *)pppuVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar17")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0xf07ce")) (; ";")) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" (identifier "uVar14") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "((int *)pppuVar17)[1] = uVar20;" (assignment_expression "((int *)pppuVar17)[1] = uVar20" (subscript_expression "((int *)pppuVar17)[1]" (parenthesized_expression "((int *)pppuVar17)" (( "(") (cast_expression "(int *)pppuVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar17")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar20")) (; ";")) (expression_statement "*pppuVar17 = (undefined **)uVar14;" (assignment_expression "*pppuVar17 = (undefined **)uVar14" (pointer_expression "*pppuVar17" (* "*") (identifier "pppuVar17")) (= "=") (cast_expression "(undefined **)uVar14" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uVar14"))) (; ";")) (expression_statement "((int *)pppuVar17)[-1] = 0xf07d7;" (assignment_expression "((int *)pppuVar17)[-1] = 0xf07d7" (subscript_expression "((int *)pppuVar17)[-1]" (parenthesized_expression "((int *)pppuVar17)" (( "(") (cast_expression "(int *)pppuVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar17")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0xf07d7")) (; ";")) (expression_statement "FUN_00065480();" (call_expression "FUN_00065480()" (identifier "FUN_00065480") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;" (assignment_expression "pppuVar17[-2] = pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[-2]" (identifier "pppuVar17") ([ "[") (number_literal "-2") (] "]")) (= "=") (binary_expression "pppuVar17[1] + 0xfffc1289" (subscript_expression "pppuVar17[1]" (identifier "pppuVar17") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xfffc1289"))) (; ";")) (expression_statement "pppuVar17[-3] = (undefined **)0x11f6;" (assignment_expression "pppuVar17[-3] = (undefined **)0x11f6" (subscript_expression "pppuVar17[-3]" (identifier "pppuVar17") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(undefined **)0x11f6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11f6"))) (; ";")) (expression_statement "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);" (assignment_expression "pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95)" (subscript_expression "pppuVar17[-4]" (identifier "pppuVar17") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(undefined **)((int)pppuVar17[1] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar17[1] + -0xfcc95)" (( "(") (binary_expression "(int)pppuVar17[1] + -0xfcc95" (cast_expression "(int)pppuVar17[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppuVar17[1]" (identifier "pppuVar17") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "pppuVar17[-5] = (undefined **)0xf0843;" (assignment_expression "pppuVar17[-5] = (undefined **)0xf0843" (subscript_expression "pppuVar17[-5]" (identifier "pppuVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(undefined **)0xf0843" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xf0843"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" (else "else") (compound_statement "{\n        local_58 = local_24;\n        local_7c[0] = (undefined **)*local_24;\n        cVar11 = FUN_001395e0();\n        if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }\n        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);\n        lVar23 = *plVar1;\n        lVar6 = *plVar1;\n      }" ({ "{") (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" (identifier "local_58") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_7c[0] = (undefined **)*local_24;" (assignment_expression "local_7c[0] = (undefined **)*local_24" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*local_24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_24" (* "*") (identifier "local_24")))) (; ";")) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" (identifier "cVar11") (= "=") (call_expression "FUN_001395e0()" (identifier "FUN_001395e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar11 == '\0') {\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" (if "if") (parenthesized_expression "(cVar11 == '\0')" (( "(") (binary_expression "cVar11 == '\0'" (identifier "cVar11") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          appuStack_74[1] = (undefined **)*appuStack_74[2];\n          if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }\n          local_54._4_4_ = (undefined **)appuStack_74[1][2];\n          local_54._0_4_ = (undefined **)appuStack_74[1][1];\n          lVar23 = lVar6 - CONCAT44(local_40,local_44);\n          local_2c = lVar23 + CONCAT44(local_38,local_3c);\n          ppuVar15 = (undefined **)(local_2c >> 0x20);\n          lVar23 = lVar23 + CONCAT44(local_38,local_3c);\n          if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }\n          bVar3 = *(byte *)(appuStack_74[1] + 7);\n          if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }\n          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;\n          *(longlong *)(appuStack_74[1] + 5) = lVar24;\n          ppuVar15 = appuStack_74[1];\n          lVar23 = lVar24;\n          uVar10 = local_2c;\n          goto joined_r0x000f0642;\n        }" ({ "{") (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) {\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" (( "(") (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" (( "(") (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0xc5;\n                    \n            FUN_00069d00();\n          }" ({ "{") (labeled_statement "LAB_000f0977:\n            appuStack_74[0] = appuStack_74[3] + -0x3eb59;" (statement_identifier "LAB_000f0977") (: ":") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb59;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3eb59" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3eb59"))) (; ";"))) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0xc5;" (assignment_expression "local_7c[1] = (undefined **)0xc5" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0xc5" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xc5"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_54._4_4_ = (undefined **)appuStack_74[1][2];" (assignment_expression "local_54._4_4_ = (undefined **)appuStack_74[1][2]" (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined **)appuStack_74[1][2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_54._0_4_ = (undefined **)appuStack_74[1][1];" (assignment_expression "local_54._0_4_ = (undefined **)appuStack_74[1][1]" (field_expression "local_54._0_4_" (identifier "local_54") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined **)appuStack_74[1][1]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "lVar23 = lVar6 - CONCAT44(local_40,local_44);" (assignment_expression "lVar23 = lVar6 - CONCAT44(local_40,local_44)" (identifier "lVar23") (= "=") (binary_expression "lVar6 - CONCAT44(local_40,local_44)" (identifier "lVar6") (- "-") (call_expression "CONCAT44(local_40,local_44)" (identifier "CONCAT44") (argument_list "(local_40,local_44)" (( "(") (identifier "local_40") (, ",") (identifier "local_44") () ")"))))) (; ";")) (expression_statement "local_2c = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "local_2c = lVar23 + CONCAT44(local_38,local_3c)" (identifier "local_2c") (= "=") (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" (identifier "lVar23") (+ "+") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))))) (; ";")) (expression_statement "ppuVar15 = (undefined **)(local_2c >> 0x20);" (assignment_expression "ppuVar15 = (undefined **)(local_2c >> 0x20)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)(local_2c >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_2c >> 0x20)" (( "(") (binary_expression "local_2c >> 0x20" (identifier "local_2c") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "lVar23 = lVar23 + CONCAT44(local_38,local_3c);" (assignment_expression "lVar23 = lVar23 + CONCAT44(local_38,local_3c)" (identifier "lVar23") (= "=") (binary_expression "lVar23 + CONCAT44(local_38,local_3c)" (identifier "lVar23") (+ "+") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))))) (; ";")) (if_statement "if (local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)) {\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }\n          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" (if "if") (parenthesized_expression "(local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c))" (( "(") (binary_expression "local_54._4_4_ < ppuVar15 ||\n              (uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (binary_expression "local_54._4_4_ < ppuVar15" (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")) (< "<") (identifier "ppuVar15")) (|| "||") (binary_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15) <\n              (uint)((undefined **)local_54 < (undefined **)local_2c)" (call_expression "(uint)((int)local_54._4_4_ - (int)ppuVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_54._4_4_ - (int)ppuVar15)" (( "(") (binary_expression "(int)local_54._4_4_ - (int)ppuVar15" (cast_expression "(int)local_54._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (- "-") (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15"))) () ")"))) (< "<") (call_expression "(uint)((undefined **)local_54 < (undefined **)local_2c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined **)local_54 < (undefined **)local_2c)" (( "(") (binary_expression "(undefined **)local_54 < (undefined **)local_2c" (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")) (< "<") (cast_expression "(undefined **)local_2c" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_2c"))) () ")"))))) () ")")) (compound_statement "{\n            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }\n            local_7c[0] = appuStack_74[1];\n            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();\n            iVar12 = (int)*appuStack_74[2];\n            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;\n            local_54._0_4_ = *(undefined ***)(iVar12 + 4);\n            local_54._4_4_ = *(undefined ***)(iVar12 + 8);\n            if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }\n            FUN_000654b0(uVar14,uVar20,uVar10);\n            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n          }" ({ "{") (if_statement "if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_2 + 4) + 0xac)" (* "*") (cast_expression "(char *)(*(int *)(param_2 + 4) + 0xac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 4) + 0xac)" (( "(") (binary_expression "*(int *)(param_2 + 4) + 0xac" (pointer_expression "*(int *)(param_2 + 4)" (* "*") (cast_expression "(int *)(param_2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0xac")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              appuStack_74[0] = appuStack_74[3] + -0x3ed77;\n              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);\n              local_7c[1] = (undefined **)0x1215;\n                    \n              FUN_00069d00();\n            }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed77;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed77" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed77"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0xfcc95)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0xfcc95)" (( "(") (binary_expression "(int)appuStack_74[3] + -0xfcc95" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0xfcc95")) () ")")))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x1215;" (assignment_expression "local_7c[1] = (undefined **)0x1215" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x1215" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1215"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_7c[0] = appuStack_74[1];" (assignment_expression "local_7c[0] = appuStack_74[1]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();" (assignment_expression "iVar13 = (**(code **)(*appuStack_74[1] + 0x24))()" (identifier "iVar13") (= "=") (call_expression "(**(code **)(*appuStack_74[1] + 0x24))()" (parenthesized_expression "(**(code **)(*appuStack_74[1] + 0x24))" (( "(") (pointer_expression "**(code **)(*appuStack_74[1] + 0x24)" (* "*") (pointer_expression "*(code **)(*appuStack_74[1] + 0x24)" (* "*") (cast_expression "(code **)(*appuStack_74[1] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*appuStack_74[1] + 0x24)" (( "(") (binary_expression "*appuStack_74[1] + 0x24" (pointer_expression "*appuStack_74[1]" (* "*") (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = (int)*appuStack_74[2];" (assignment_expression "iVar12 = (int)*appuStack_74[2]" (identifier "iVar12") (= "=") (cast_expression "(int)*appuStack_74[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (if_statement "if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;" (if "if") (parenthesized_expression "((*(byte *)(iVar12 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar12 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar12 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar12 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar12 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x1c)" (( "(") (binary_expression "iVar12 + 0x1c" (identifier "iVar12") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f0977;" (goto "goto") (statement_identifier "LAB_000f0977") (; ";"))) (expression_statement "local_54._0_4_ = *(undefined ***)(iVar12 + 4);" (assignment_expression "local_54._0_4_ = *(undefined ***)(iVar12 + 4)" (field_expression "local_54._0_4_" (identifier "local_54") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(undefined ***)(iVar12 + 4)" (* "*") (cast_expression "(undefined ***)(iVar12 + 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_54._4_4_ = *(undefined ***)(iVar12 + 8);" (assignment_expression "local_54._4_4_ = *(undefined ***)(iVar12 + 8)" (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_")) (= "=") (pointer_expression "*(undefined ***)(iVar12 + 8)" (* "*") (cast_expression "(undefined ***)(iVar12 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar13 == 0) {\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }\n            else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_7c[0] = appuStack_74[3] + -0x3f2a7;\n              uVar14 = gettext();\n              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);\n              local_7c[0] = local_54._4_4_;\n              uVar20 = (undefined *)local_2c;\n            }" ({ "{") (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2a7;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2a7" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3f2a7" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3f2a7"))) (; ";")) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" (identifier "uVar14") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);" (assignment_expression "uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_)" (identifier "uVar10") (= "=") (call_expression "CONCAT44((undefined **)local_54,local_2c._4_4_)" (identifier "CONCAT44") (argument_list "((undefined **)local_54,local_2c._4_4_)" (( "(") (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54")) (, ",") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "local_7c[0] = local_54._4_4_;" (assignment_expression "local_7c[0] = local_54._4_4_" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "uVar20 = (undefined *)local_2c;" (assignment_expression "uVar20 = (undefined *)local_2c" (identifier "uVar20") (= "=") (cast_expression "(undefined *)local_2c" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c"))) (; ";")) (} "}")) (else_clause "else {\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" (else "else") (compound_statement "{\n              local_20 = *(undefined4 *)(iVar13 + 0x20);\n              local_7c[0] = appuStack_74[3] + -0x3f298;\n              uVar14 = gettext();\n              local_7c[1] = local_54._4_4_;\n              local_7c[0] = (undefined **)local_54;\n              uVar20 = local_20;\n              uVar10 = local_2c;\n            }" ({ "{") (expression_statement "local_20 = *(undefined4 *)(iVar13 + 0x20);" (assignment_expression "local_20 = *(undefined4 *)(iVar13 + 0x20)" (identifier "local_20") (= "=") (pointer_expression "*(undefined4 *)(iVar13 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f298;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f298" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3f298" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3f298"))) (; ";")) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" (identifier "uVar14") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_7c[1] = local_54._4_4_;" (assignment_expression "local_7c[1] = local_54._4_4_" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (field_expression "local_54._4_4_" (identifier "local_54") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)local_54;" (assignment_expression "local_7c[0] = (undefined **)local_54" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)local_54" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_54"))) (; ";")) (expression_statement "uVar20 = local_20;" (assignment_expression "uVar20 = local_20" (identifier "uVar20") (= "=") (identifier "local_20")) (; ";")) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" (identifier "uVar10") (= "=") (identifier "local_2c")) (; ";")) (} "}")))) (expression_statement "FUN_000654b0(uVar14,uVar20,uVar10);" (call_expression "FUN_000654b0(uVar14,uVar20,uVar10)" (identifier "FUN_000654b0") (argument_list "(uVar14,uVar20,uVar10)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar20") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar24") (= "=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) (; ";")) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (} "}")) (else_clause "else if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" (else "else") (if_statement "if (((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)) {\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }\n          else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" (if "if") (parenthesized_expression "(((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0))" (( "(") (binary_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)\n                  || ((local_32 ^ 1) == 0)" (parenthesized_expression "((SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)" (( "(") (binary_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==\n                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (parenthesized_expression "(SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19)))" (( "(") (binary_expression "SBORROW4((int)appuStack_74[6],iVar12) !=\n                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" (call_expression "SBORROW4((int)appuStack_74[6],iVar12)" (identifier "SBORROW4") (argument_list "((int)appuStack_74[6],iVar12)" (( "(") (cast_expression "(int)appuStack_74[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]"))) (, ",") (identifier "iVar12") () ")"))) (!= "!=") (call_expression "SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" (identifier "SBORROW4") (argument_list "((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))" (( "(") (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]"))) (- "-") (identifier "iVar12")) (, ",") (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(appuStack_74[4] < puVar19)" (( "(") (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (< "<") (identifier "puVar19")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0" (cast_expression "(int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19))" (( "(") (binary_expression "((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "((int)appuStack_74[6] - iVar12)" (( "(") (binary_expression "(int)appuStack_74[6] - iVar12" (cast_expression "(int)appuStack_74[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]"))) (- "-") (identifier "iVar12")) () ")")) (- "-") (call_expression "(uint)(appuStack_74[4] < puVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(appuStack_74[4] < puVar19)" (( "(") (binary_expression "appuStack_74[4] < puVar19" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (< "<") (identifier "puVar19")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((local_32 ^ 1) == 0)" (( "(") (binary_expression "(local_32 ^ 1) == 0" (parenthesized_expression "(local_32 ^ 1)" (( "(") (binary_expression "local_32 ^ 1" (identifier "local_32") (^ "^") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);\n            if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }\n          }" ({ "{") (expression_statement "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);" (assignment_expression "lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1)" (identifier "lVar7") (= "=") (binary_expression "lVar6 + *(longlong *)(appuStack_74[1] + 1)" (identifier "lVar6") (+ "+") (pointer_expression "*(longlong *)(appuStack_74[1] + 1)" (* "*") (cast_expression "(longlong *)(appuStack_74[1] + 1)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(appuStack_74[1] + 1)" (( "(") (binary_expression "appuStack_74[1] + 1" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1")) () ")")))))) (; ";")) (if_statement "if (((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')) {\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" (if "if") (parenthesized_expression "(((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'))" (( "(") (binary_expression "((local_32 ^ 1) != 0) ||\n               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" (parenthesized_expression "((local_32 ^ 1) != 0)" (( "(") (binary_expression "(local_32 ^ 1) != 0" (parenthesized_expression "(local_32 ^ 1)" (( "(") (binary_expression "local_32 ^ 1" (identifier "local_32") (^ "^") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0')" (( "(") (comma_expression "lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar6 = lVar7 - lVar23" (identifier "lVar6") (= "=") (binary_expression "lVar7 - lVar23" (identifier "lVar7") (- "-") (identifier "lVar23"))) (, ",") (comma_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),\n               local_33 != '\0'" (assignment_expression "lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "lVar24") (= "=") (call_expression "CONCAT44(appuStack_74[6],appuStack_74[4])" (identifier "CONCAT44") (argument_list "(appuStack_74[6],appuStack_74[4])" (( "(") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) () ")")))) (, ",") (binary_expression "local_33 != '\0'" (identifier "local_33") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n              lVar6 = lVar7 - lVar23;\n              lVar24 = lVar7 - lVar23;\n            }" ({ "{") (expression_statement "lVar6 = lVar7 - lVar23;" (assignment_expression "lVar6 = lVar7 - lVar23" (identifier "lVar6") (= "=") (binary_expression "lVar7 - lVar23" (identifier "lVar7") (- "-") (identifier "lVar23"))) (; ";")) (expression_statement "lVar24 = lVar7 - lVar23;" (assignment_expression "lVar24 = lVar7 - lVar23" (identifier "lVar24") (= "=") (binary_expression "lVar7 - lVar23" (identifier "lVar7") (- "-") (identifier "lVar23"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" (else "else") (compound_statement "{\n            local_7c[0] = appuStack_74[3] + -0x3f2bf;\n            local_7c[0] = (undefined **)gettext();\n            FUN_000654e0();\n            appuStack_74[1] = (undefined **)*appuStack_74[2];\n            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;\n            lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);\n            lVar24 = lVar6;\n          }" ({ "{") (expression_statement "local_7c[0] = appuStack_74[3] + -0x3f2bf;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x3f2bf" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3f2bf" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3f2bf"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)gettext();" (assignment_expression "local_7c[0] = (undefined **)gettext()" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)gettext()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "FUN_000654e0();" (call_expression "FUN_000654e0()" (identifier "FUN_000654e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "appuStack_74[1] = (undefined **)*appuStack_74[2];" (assignment_expression "appuStack_74[1] = (undefined **)*appuStack_74[2]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (if_statement "if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;" (if "if") (parenthesized_expression "(((uint)appuStack_74[1][7] & 1) == 0)" (( "(") (binary_expression "((uint)appuStack_74[1][7] & 1) == 0" (parenthesized_expression "((uint)appuStack_74[1][7] & 1)" (( "(") (binary_expression "(uint)appuStack_74[1][7] & 1" (cast_expression "(uint)appuStack_74[1][7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "appuStack_74[1][7]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f0977;" (goto "goto") (statement_identifier "LAB_000f0977") (; ";"))) (expression_statement "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);" (assignment_expression "lVar6 = CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" (identifier "lVar6") (= "=") (call_expression "CONCAT44(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" (identifier "CONCAT44") (argument_list "(appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),\n                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c)" (( "(") (binary_expression "appuStack_74[1][2] +\n                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" (subscript_expression "appuStack_74[1][2]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "2") (] "]")) (+ "+") (parenthesized_expression "((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c))" (( "(") (binary_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_) -\n                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_)" (( "(") (binary_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -\n                              local_2c._4_4_" (parenthesized_expression "((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12)" (( "(") (binary_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12" (cast_expression "(uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)puVar19,(uint)appuStack_74[1][1])" (identifier "CARRY4") (argument_list "((uint)puVar19,(uint)appuStack_74[1][1])" (( "(") (cast_expression "(uint)puVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar19")) (, ",") (cast_expression "(uint)appuStack_74[1][1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "1") (] "]"))) () ")")))) (+ "+") (identifier "iVar12")) () ")")) (- "-") (field_expression "local_2c._4_4_" (identifier "local_2c") (. ".") (field_identifier "_4_4_"))) () ")")) (- "-") (call_expression "(uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)" (( "(") (binary_expression "puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c" (binary_expression "puVar19 + (int)appuStack_74[1][1]" (identifier "puVar19") (+ "+") (cast_expression "(int)appuStack_74[1][1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "1") (] "]")))) (< "<") (cast_expression "(undefined *)local_2c" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c"))) () ")")))) () ")"))) (, ",") (binary_expression "(int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c" (cast_expression "(int)(puVar19 + (int)appuStack_74[1][1])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar19 + (int)appuStack_74[1][1])" (( "(") (binary_expression "puVar19 + (int)appuStack_74[1][1]" (identifier "puVar19") (+ "+") (cast_expression "(int)appuStack_74[1][1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[1][1]" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "1") (] "]")))) () ")"))) (- "-") (cast_expression "(int)(undefined *)local_2c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined *)local_2c" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c")))) () ")")))) (; ";")) (expression_statement "lVar24 = lVar6;" (assignment_expression "lVar24 = lVar6" (identifier "lVar24") (= "=") (identifier "lVar6")) (; ";")) (} "}")))))) (expression_statement "bVar3 = *(byte *)(appuStack_74[1] + 7);" (assignment_expression "bVar3 = *(byte *)(appuStack_74[1] + 7)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(appuStack_74[1] + 7)" (* "*") (cast_expression "(byte *)(appuStack_74[1] + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(appuStack_74[1] + 7)" (( "(") (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "7")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((bVar3 & 4) != 0)" (( "(") (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);\n            appuStack_74[4] = (undefined **)lVar24;\n            appuStack_74[0] = appuStack_74[3] + -0x3ec24;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x14b;\n                    \n            FUN_00069d00();\n          }" ({ "{") (labeled_statement "LAB_000f087f:\n            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (statement_identifier "LAB_000f087f") (: ":") (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20)" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)((ulonglong)lVar24 >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulonglong)lVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar24 >> 0x20" (cast_expression "(ulonglong)lVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar24")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "appuStack_74[4] = (undefined **)lVar24;" (assignment_expression "appuStack_74[4] = (undefined **)lVar24" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)lVar24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar24"))) (; ";")) (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ec24;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ec24" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ec24"))) (; ";")) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x14b;" (assignment_expression "local_7c[1] = (undefined **)0x14b" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x14b" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x14b"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4;" (assignment_expression "*(byte *)(appuStack_74[1] + 7) = bVar3 | 4" (pointer_expression "*(byte *)(appuStack_74[1] + 7)" (* "*") (cast_expression "(byte *)(appuStack_74[1] + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(appuStack_74[1] + 7)" (( "(") (binary_expression "appuStack_74[1] + 7" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar3 | 4" (identifier "bVar3") (| "|") (number_literal "4"))) (; ";")) (expression_statement "*(longlong *)(appuStack_74[1] + 5) = lVar24;" (assignment_expression "*(longlong *)(appuStack_74[1] + 5) = lVar24" (pointer_expression "*(longlong *)(appuStack_74[1] + 5)" (* "*") (cast_expression "(longlong *)(appuStack_74[1] + 5)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(appuStack_74[1] + 5)" (( "(") (binary_expression "appuStack_74[1] + 5" (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "5")) () ")")))) (= "=") (identifier "lVar24")) (; ";")) (expression_statement "ppuVar15 = appuStack_74[1];" (assignment_expression "ppuVar15 = appuStack_74[1]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[1]" (identifier "appuStack_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" (identifier "lVar23") (= "=") (identifier "lVar24")) (; ";")) (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" (identifier "uVar10") (= "=") (identifier "local_2c")) (; ";")) (goto_statement "goto joined_r0x000f0642;" (goto "goto") (statement_identifier "joined_r0x000f0642") (; ";")) (} "}"))) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 4)" (( "(") (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 4" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" (* "*") (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" (( "(") (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          appuStack_74[0] = appuStack_74[3] + -0x3eb67;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xe3;\n                    \n          FUN_00069d00();\n        }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb67;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3eb67" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3eb67"))) (; ";")) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0xe3;" (assignment_expression "local_7c[1] = (undefined **)0xe3" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0xe3" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xe3"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);" (assignment_expression "plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14)" (identifier "plVar1") (= "=") (cast_expression "(longlong *)((int)*appuStack_74[2] + 0x14)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*appuStack_74[2] + 0x14)" (( "(") (binary_expression "(int)*appuStack_74[2] + 0x14" (cast_expression "(int)*appuStack_74[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (expression_statement "lVar23 = *plVar1;" (assignment_expression "lVar23 = *plVar1" (identifier "lVar23") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (expression_statement "lVar6 = *plVar1;" (assignment_expression "lVar6 = *plVar1" (identifier "lVar6") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (} "}")))) (expression_statement "uVar18 = (uint)lVar6;" (assignment_expression "uVar18 = (uint)lVar6" (identifier "uVar18") (= "=") (cast_expression "(uint)lVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar6"))) (; ";")) (expression_statement "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);" (assignment_expression "appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20)" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "appuStack_74[4] = (undefined **)lVar23;" (assignment_expression "appuStack_74[4] = (undefined **)lVar23" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)lVar23" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*local_58;" (assignment_expression "local_7c[0] = (undefined **)*local_58" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*local_58" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_58" (* "*") (identifier "local_58")))) (; ";")) (expression_statement "cVar11 = FUN_001395e0();" (assignment_expression "cVar11 = FUN_001395e0()" (identifier "cVar11") (= "=") (call_expression "FUN_001395e0()" (identifier "FUN_001395e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (cVar11 == '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }\n      else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" (if "if") (parenthesized_expression "(cVar11 == '\0')" (( "(") (binary_expression "cVar11 == '\0'" (identifier "cVar11") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\nLAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;\nLAB_000f00a0:\n        lVar23 = local_4c;\n        if (local_32 == 0) goto LAB_000f03a0;\n      }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (labeled_statement "LAB_000f0095:\n        if (local_33 == '\0') goto LAB_000f03a0;" (statement_identifier "LAB_000f0095") (: ":") (if_statement "if (local_33 == '\0') goto LAB_000f03a0;" (if "if") (parenthesized_expression "(local_33 == '\0')" (( "(") (binary_expression "local_33 == '\0'" (identifier "local_33") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000f03a0;" (goto "goto") (statement_identifier "LAB_000f03a0") (; ";")))) (labeled_statement "LAB_000f00a0:\n        lVar23 = local_4c;" (statement_identifier "LAB_000f00a0") (: ":") (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" (identifier "lVar23") (= "=") (identifier "local_4c")) (; ";"))) (if_statement "if (local_32 == 0) goto LAB_000f03a0;" (if "if") (parenthesized_expression "(local_32 == 0)" (( "(") (binary_expression "local_32 == 0" (identifier "local_32") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f03a0;" (goto "goto") (statement_identifier "LAB_000f03a0") (; ";"))) (} "}")) (else_clause "else {\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" (else "else") (compound_statement "{\n        puVar4 = (undefined4 *)*local_58;\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;\n        uVar20 = *puVar4;\n        iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);\n        if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }\n        ppuVar15 = appuStack_74[2];\n        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;\n        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));\n        local_7c[0] = (undefined **)*ppuVar15;\n        if (local_33 != '\0') goto LAB_000f00a0;\nLAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }\n        puVar19 = local_7c[0][3] + uVar18;\n        puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);\n        lVar6 = CONCAT44(puVar21,puVar19);\n        lVar23 = local_4c;\n        if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }\n      }" ({ "{") (expression_statement "puVar4 = (undefined4 *)*local_58;" (assignment_expression "puVar4 = (undefined4 *)*local_58" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)*local_58" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_58" (* "*") (identifier "local_58")))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (if_statement "if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;" (if "if") (parenthesized_expression "((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0))" (( "(") (binary_expression "(puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)" (parenthesized_expression "(puVar4[2] == 0)" (( "(") (binary_expression "puVar4[2] == 0" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(puVar4 + 5) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar4 + 5) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar4 + 5) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar4 + 5) & 0x10" (pointer_expression "*(byte *)(puVar4 + 5)" (* "*") (cast_expression "(byte *)(puVar4 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 5)" (( "(") (binary_expression "puVar4 + 5" (identifier "puVar4") (+ "+") (number_literal "5")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000f0095;" (goto "goto") (statement_identifier "LAB_000f0095") (; ";"))) (expression_statement "uVar20 = *puVar4;" (assignment_expression "uVar20 = *puVar4" (identifier "uVar20") (= "=") (pointer_expression "*puVar4" (* "*") (identifier "puVar4"))) (; ";")) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" (identifier "iVar12") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x24)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x24)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x24)" (( "(") (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);" (assignment_expression "local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)((int)appuStack_74[3] + -0x104a65)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)appuStack_74[3] + -0x104a65)" (( "(") (binary_expression "(int)appuStack_74[3] + -0x104a65" (cast_expression "(int)appuStack_74[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "-0x104a65")) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) {\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_7c[0] = (undefined **)*ppuVar15;\n          iVar12 = (**(code **)(*local_7c[0] + 0x24))();\n          local_7c[0] = *(undefined ***)(iVar12 + 0x20);\n        }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (expression_statement "iVar12 = (**(code **)(*local_7c[0] + 0x24))();" (assignment_expression "iVar12 = (**(code **)(*local_7c[0] + 0x24))()" (identifier "iVar12") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x24))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x24))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x24)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x24)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x24)" (( "(") (binary_expression "*local_7c[0] + 0x24" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_7c[0] = *(undefined ***)(iVar12 + 0x20);" (assignment_expression "local_7c[0] = *(undefined ***)(iVar12 + 0x20)" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(undefined ***)(iVar12 + 0x20)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x20)" (( "(") (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}"))) (expression_statement "ppuVar15 = appuStack_74[2];" (assignment_expression "ppuVar15 = appuStack_74[2]" (identifier "ppuVar15") (= "=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;" (if "if") (parenthesized_expression "((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)((int)*appuStack_74[2] + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)((int)*appuStack_74[2] + 0x1c) & 2" (pointer_expression "*(byte *)((int)*appuStack_74[2] + 0x1c)" (* "*") (cast_expression "(byte *)((int)*appuStack_74[2] + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*appuStack_74[2] + 0x1c)" (( "(") (binary_expression "(int)*appuStack_74[2] + 0x1c" (cast_expression "(int)*appuStack_74[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f0860;" (goto "goto") (statement_identifier "LAB_000f0860") (; ";"))) (expression_statement "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));" (call_expression "FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" (identifier "FUN_000653f0") (argument_list "(uVar20,appuStack_74[3] + -0x3f288,uVar18,\n                     *(undefined4 *)((int)*appuStack_74[2] + 0xc))" (( "(") (identifier "uVar20") (, ",") (binary_expression "appuStack_74[3] + -0x3f288" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3f288")) (, ",") (identifier "uVar18") (, ",") (pointer_expression "*(undefined4 *)((int)*appuStack_74[2] + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)*appuStack_74[2] + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*appuStack_74[2] + 0xc)" (( "(") (binary_expression "(int)*appuStack_74[2] + 0xc" (cast_expression "(int)*appuStack_74[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "local_7c[0] = (undefined **)*ppuVar15;" (assignment_expression "local_7c[0] = (undefined **)*ppuVar15" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*ppuVar15" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar15" (* "*") (identifier "ppuVar15")))) (; ";")) (if_statement "if (local_33 != '\0') goto LAB_000f00a0;" (if "if") (parenthesized_expression "(local_33 != '\0')" (( "(") (binary_expression "local_33 != '\0'" (identifier "local_33") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000f00a0;" (goto "goto") (statement_identifier "LAB_000f00a0") (; ";"))) (labeled_statement "LAB_000f03a0:\n        if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" (statement_identifier "LAB_000f03a0") (: ":") (if_statement "if (((uint)local_7c[0][7] & 2) == 0) {\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" (if "if") (parenthesized_expression "(((uint)local_7c[0][7] & 2) == 0)" (( "(") (binary_expression "((uint)local_7c[0][7] & 2) == 0" (parenthesized_expression "((uint)local_7c[0][7] & 2)" (( "(") (binary_expression "(uint)local_7c[0][7] & 2" (cast_expression "(uint)local_7c[0][7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_7c[0][7]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;\n          local_7c[0] = appuStack_74[3] + -0x41c55;\n          local_7c[1] = (undefined **)0xcf;\n                    \n          FUN_00069d00();\n        }" ({ "{") (labeled_statement "LAB_000f0860:\n          appuStack_74[0] = appuStack_74[3] + -0x3eb48;" (statement_identifier "LAB_000f0860") (: ":") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3eb48;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3eb48" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3eb48"))) (; ";"))) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0xcf;" (assignment_expression "local_7c[1] = (undefined **)0xcf" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0xcf" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xcf"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar19 = local_7c[0][3] + uVar18;" (assignment_expression "puVar19 = local_7c[0][3] + uVar18" (identifier "puVar19") (= "=") (binary_expression "local_7c[0][3] + uVar18" (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "puVar21 = local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" (identifier "puVar21") (= "=") (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20)" (binary_expression "local_7c[0][4] +\n                  (uint)CARRY4(uVar18,(uint)local_7c[0][3])" (subscript_expression "local_7c[0][4]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (+ "+") (cast_expression "(uint)CARRY4(uVar18,(uint)local_7c[0][3])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar18,(uint)local_7c[0][3])" (identifier "CARRY4") (argument_list "(uVar18,(uint)local_7c[0][3])" (( "(") (identifier "uVar18") (, ",") (cast_expression "(uint)local_7c[0][3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_7c[0][3]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]"))) () ")"))))) (+ "+") (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar6")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" (identifier "lVar6") (= "=") (call_expression "CONCAT44(puVar21,puVar19)" (identifier "CONCAT44") (argument_list "(puVar21,puVar19)" (( "(") (identifier "puVar21") (, ",") (identifier "puVar19") () ")")))) (; ";")) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" (identifier "lVar23") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (local_32 == 0) {\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" (if "if") (parenthesized_expression "(local_32 == 0)" (( "(") (binary_expression "local_32 == 0" (identifier "local_32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          appuStack_74[4] = (undefined **)puVar19;\n          appuStack_74[6] = (undefined **)puVar21;\n          lVar6 = CONCAT44(puVar21,puVar19);\n        }" ({ "{") (expression_statement "appuStack_74[4] = (undefined **)puVar19;" (assignment_expression "appuStack_74[4] = (undefined **)puVar19" (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined **)puVar19" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "appuStack_74[6] = (undefined **)puVar21;" (assignment_expression "appuStack_74[6] = (undefined **)puVar21" (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined **)puVar21" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar21"))) (; ";")) (expression_statement "lVar6 = CONCAT44(puVar21,puVar19);" (assignment_expression "lVar6 = CONCAT44(puVar21,puVar19)" (identifier "lVar6") (= "=") (call_expression "CONCAT44(puVar21,puVar19)" (identifier "CONCAT44") (argument_list "(puVar21,puVar19)" (( "(") (identifier "puVar21") (, ",") (identifier "puVar19") () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);" (assignment_expression "local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20)" (field_expression "local_4c._4_4_" (identifier "local_4c") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_4c._0_4_ = (uint)lVar23;" (assignment_expression "local_4c._0_4_ = (uint)lVar23" (field_expression "local_4c._0_4_" (identifier "local_4c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)lVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "iVar12 = (int)((ulonglong)lVar6 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)lVar6 >> 0x20)" (identifier "iVar12") (= "=") (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar6")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar18 = (uint)((uint)local_4c < (uint)lVar6);" (assignment_expression "uVar18 = (uint)((uint)local_4c < (uint)lVar6)" (identifier "uVar18") (= "=") (call_expression "(uint)((uint)local_4c < (uint)lVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_4c < (uint)lVar6)" (( "(") (binary_expression "(uint)local_4c < (uint)lVar6" (cast_expression "(uint)local_4c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_4c")) (< "<") (cast_expression "(uint)lVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar6"))) () ")")))) (; ";")) (expression_statement "bVar22 = SBORROW4(local_4c._4_4_,iVar12);" (assignment_expression "bVar22 = SBORROW4(local_4c._4_4_,iVar12)" (identifier "bVar22") (= "=") (call_expression "SBORROW4(local_4c._4_4_,iVar12)" (identifier "SBORROW4") (argument_list "(local_4c._4_4_,iVar12)" (( "(") (field_expression "local_4c._4_4_" (identifier "local_4c") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar12") () ")")))) (; ";")) (expression_statement "iVar12 = local_4c._4_4_ - iVar12;" (assignment_expression "iVar12 = local_4c._4_4_ - iVar12" (identifier "iVar12") (= "=") (binary_expression "local_4c._4_4_ - iVar12" (field_expression "local_4c._4_4_" (identifier "local_4c") (. ".") (field_identifier "_4_4_")) (- "-") (identifier "iVar12"))) (; ";")) (expression_statement "local_4c = lVar23;" (assignment_expression "local_4c = lVar23" (identifier "local_4c") (= "=") (identifier "lVar23")) (; ";")) (if_statement "if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {\n        local_4c = lVar6;\n      }" (if "if") (parenthesized_expression "((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0)" (( "(") (binary_expression "(bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0" (parenthesized_expression "(bVar22 != SBORROW4(iVar12,uVar18))" (( "(") (binary_expression "bVar22 != SBORROW4(iVar12,uVar18)" (identifier "bVar22") (!= "!=") (call_expression "SBORROW4(iVar12,uVar18)" (identifier "SBORROW4") (argument_list "(iVar12,uVar18)" (( "(") (identifier "iVar12") (, ",") (identifier "uVar18") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar12 - uVar18) < 0" (cast_expression "(int)(iVar12 - uVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar12 - uVar18)" (( "(") (binary_expression "iVar12 - uVar18" (identifier "iVar12") (- "-") (identifier "uVar18")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n        local_4c = lVar6;\n      }" ({ "{") (expression_statement "local_4c = lVar6;" (assignment_expression "local_4c = lVar6" (identifier "local_4c") (= "=") (identifier "lVar6")) (; ";")) (} "}"))) (expression_statement "cVar11 = (**(code **)(*local_7c[0] + 0x18))();" (assignment_expression "cVar11 = (**(code **)(*local_7c[0] + 0x18))()" (identifier "cVar11") (= "=") (call_expression "(**(code **)(*local_7c[0] + 0x18))()" (parenthesized_expression "(**(code **)(*local_7c[0] + 0x18))" (( "(") (pointer_expression "**(code **)(*local_7c[0] + 0x18)" (* "*") (pointer_expression "*(code **)(*local_7c[0] + 0x18)" (* "*") (cast_expression "(code **)(*local_7c[0] + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_7c[0] + 0x18)" (( "(") (binary_expression "*local_7c[0] + 0x18" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar11 != '\0') {\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" (if "if") (parenthesized_expression "(cVar11 != '\0')" (( "(") (binary_expression "cVar11 != '\0'" (identifier "cVar11") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_7c[0] = (undefined **)*appuStack_74[2];\n        local_7c[1] = (undefined **)*param_9;\n        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }\n        *param_9 = *param_9 + 1;\n      }" ({ "{") (expression_statement "local_7c[0] = (undefined **)*appuStack_74[2];" (assignment_expression "local_7c[0] = (undefined **)*appuStack_74[2]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined **)*appuStack_74[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*appuStack_74[2]" (* "*") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "local_7c[1] = (undefined **)*param_9;" (assignment_expression "local_7c[1] = (undefined **)*param_9" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)*param_9" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_9" (* "*") (identifier "param_9")))) (; ";")) (if_statement "if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }\n        else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" (if "if") (parenthesized_expression "(*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4)" (( "(") (binary_expression "*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4" (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" (* "*") (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*local_7c[0] + 0x30)" (( "(") (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x30")) () ")")))) (== "==") (binary_expression "appuStack_74[3] + -0xba8f4" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0xba8f4"))) () ")")) (compound_statement "{\n          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }\n          local_7c[0][0x18] = (undefined *)local_7c[1];\n        }" ({ "{") (if_statement "if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)) {\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff))" (( "(") (binary_expression "(local_7c[1] != (undefined **)local_7c[0][0x18]) &&\n             (local_7c[0][0x18] != (undefined *)0xffffffff)" (parenthesized_expression "(local_7c[1] != (undefined **)local_7c[0][0x18])" (( "(") (binary_expression "local_7c[1] != (undefined **)local_7c[0][0x18]" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (!= "!=") (cast_expression "(undefined **)local_7c[0][0x18]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "0x18") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(local_7c[0][0x18] != (undefined *)0xffffffff)" (( "(") (binary_expression "local_7c[0][0x18] != (undefined *)0xffffffff" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "0x18") (] "]")) (!= "!=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")"))) () ")")) (compound_statement "{\n            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;\n            local_7c[0] = appuStack_74[3] + -0x41c55;\n            local_7c[1] = (undefined **)0x104b;\n                    \n            FUN_00069d00();\n          }" ({ "{") (expression_statement "appuStack_74[0] = appuStack_74[3] + -0x3ed7c;" (assignment_expression "appuStack_74[0] = appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[0]" (identifier "appuStack_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x3ed7c" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x3ed7c"))) (; ";")) (expression_statement "local_7c[0] = appuStack_74[3] + -0x41c55;" (assignment_expression "local_7c[0] = appuStack_74[3] + -0x41c55" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "appuStack_74[3] + -0x41c55" (subscript_expression "appuStack_74[3]" (identifier "appuStack_74") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "local_7c[1] = (undefined **)0x104b;" (assignment_expression "local_7c[1] = (undefined **)0x104b" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined **)0x104b" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x104b"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_7c[0][0x18] = (undefined *)local_7c[1];" (assignment_expression "local_7c[0][0x18] = (undefined *)local_7c[1]" (subscript_expression "local_7c[0][0x18]" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(undefined *)local_7c[1]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" (else "else") (compound_statement "{\n          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();\n        }" ({ "{") (expression_statement "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))();" (call_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))()" (parenthesized_expression "(*(code *)*(undefined ***)(*local_7c[0] + 0x30))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*local_7c[0] + 0x30)" (* "*") (cast_expression "(code *)*(undefined ***)(*local_7c[0] + 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*local_7c[0] + 0x30)" (* "*") (cast_expression "(undefined ***)(*local_7c[0] + 0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*local_7c[0] + 0x30)" (( "(") (binary_expression "*local_7c[0] + 0x30" (pointer_expression "*local_7c[0]" (* "*") (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x30")) () ")")))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*param_9 = *param_9 + 1;" (assignment_expression "*param_9 = *param_9 + 1" (pointer_expression "*param_9" (* "*") (identifier "param_9")) (= "=") (binary_expression "*param_9 + 1" (pointer_expression "*param_9" (* "*") (identifier "param_9")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "appuStack_74[2] = appuStack_74[2] + 1;" (assignment_expression "appuStack_74[2] = appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "appuStack_74[2] + 1" (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined **)param_4[1] != appuStack_74[2])" (( "(") (binary_expression "(undefined **)param_4[1] != appuStack_74[2]" (cast_expression "(undefined **)param_4[1]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (subscript_expression "appuStack_74[2]" (identifier "appuStack_74") ([ "[") (number_literal "2") (] "]"))) () ")")) (; ";")) (expression_statement "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);" (assignment_expression "lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (identifier "lVar24") (= "=") (binary_expression "(local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c)" (parenthesized_expression "(local_4c - CONCAT44(local_40,local_44))" (( "(") (binary_expression "local_4c - CONCAT44(local_40,local_44)" (identifier "local_4c") (- "-") (call_expression "CONCAT44(local_40,local_44)" (identifier "CONCAT44") (argument_list "(local_40,local_44)" (( "(") (identifier "local_40") (, ",") (identifier "local_44") () ")")))) () ")")) (+ "+") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))))) (; ";")) (expression_statement "lVar23 = local_4c;" (assignment_expression "lVar23 = local_4c" (identifier "lVar23") (= "=") (identifier "local_4c")) (; ";")) (} "}"))) (expression_statement "*(longlong *)param_7 = lVar23;" (assignment_expression "*(longlong *)param_7 = lVar23" (pointer_expression "*(longlong *)param_7" (* "*") (cast_expression "(longlong *)param_7" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7"))) (= "=") (identifier "lVar23")) (; ";")) (expression_statement "*param_8 = (int)appuStack_74[4];" (assignment_expression "*param_8 = (int)appuStack_74[4]" (pointer_expression "*param_8" (* "*") (identifier "param_8")) (= "=") (cast_expression "(int)appuStack_74[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[4]" (identifier "appuStack_74") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "param_8[1] = (int)appuStack_74[6];" (assignment_expression "param_8[1] = (int)appuStack_74[6]" (subscript_expression "param_8[1]" (identifier "param_8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)appuStack_74[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "appuStack_74[6]" (identifier "appuStack_74") ([ "[") (number_literal "6") (] "]")))) (; ";")) (return_statement "return lVar24;" (return "return") (identifier "lVar24") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: uint64_t set_section_list_addresses(Output_segment * this, Layout *
   layout, bool reset, Output_data_list * pdl, uint64_t addr, off_t * poff, off_t * pfoff, uint *
   pshndx, bool * in_tls) */

uint64_t __thiscall
var_4::type_1::function_1
          (type_1 *this,type_2 *layout,bool reset,type_3 *pdl,uint64_t var_23,
          type_4 *poff,type_4 *pfoff,type_5 *pshndx,bool *in_tls)

{
  int *piVar1;
  type_4 *poVar2;
  type_6 var_6;
  type_7 **var_41;
  type_8 *this_00;
  type_9 uVar5;
  type_10 lVar6;
  type_10 var_27;
  type_10 var_29;
  type_4 minoff;
  type_10 var_35;
  type_10 var_22;
  type_4 oVar11;
  type_4 oVar12;
  type_6 var_28;
  char var_8;
  bool var_39;
  type_11 *pOVar16;
  int var_24;
  type_5 var_13;
  type_5 var_31;
  char *pcVar20;
  int var_19;
  type_5 var_11;
  type_5 var_30;
  type_5 var_12;
  int var_26;
  uint64_t var_10;
  type_10 var_18;
  type_9 uVar27;
  type_9 uVar28;
  type_12 var_3;
  type_5 var_34;
  int var_33;
  type_13 var_15;
  type_13 local_4c;
  
  oVar11 = *poff;
  var_19 = *(int *)((int)poff + 4);
  var_22 = *poff;
  minoff = *poff;
  var_29 = *poff;
  local_4c = *poff;
  var_18 = *poff;
  var_35 = *pfoff;
  var_27 = *pfoff;
  var_3 = (pdl->super__Vector_base<var_4::type_11*var_2,var_5::allocator<var_4::type_11*>var_1>var_2).
             _M_impl._M_start;
  lVar6 = *poff;
  if (var_3 !=
      (pdl->super__Vector_base<var_4::type_11*,var_5::allocator<var_4::type_11*>var_1>var_2)._M_impl.
      _M_finish) {
    do {
      var_33 = (int)((type_14)var_27 >> 0x20);
      var_34 = (type_5)var_27;
      var_26 = (int)((type_14)var_18 >> 0x20);
      var_13 = (type_5)var_18;
      var_24 = (*(*var_3)->_vptr_Output_data[7])(*var_3,8);
      var_28 = (type_6)var_24;
      uVar28 = 0x400;
      var_24 = (*(*var_3)->_vptr_Output_data[8])(*var_3,0x400,0);
      var_8 = (char)var_24;
      if (reset) {
        pOVar16 = *var_3;
        var_6 = pOVar16->field_0x1c;
        pOVar16->field_0x1c = var_6 & 0xfa;
        if ((var_6 & 8) == 0) {
          pOVar16->field_0x1c = var_6 & 0xf8;
        }
        (*pOVar16->_vptr_Output_data[0xf])(pOVar16);
      }
      pOVar16 = *var_3;
      if ((pOVar16->field_0x1c & 1) == 0) {
        var_13 = (*pOVar16->_vptr_Output_data[3])(pOVar16);
        var_15 = var_7(var_11,var_13);
        if (var_8 == '\0') {
          if (*in_tls != false) {
            var_10 = var_9(layout->tls_segment_);
            var_12 = (type_5)(var_10 >> 0x20);
            if (var_11 < var_12 || var_11 - var_12 < (type_5)(var_13 < (type_5)var_10)) {
              var_15 = var_10;
            }
            *in_tls = false;
          }
        }
        else if (*in_tls == false) {
          if (layout->tls_segment_ == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.cc",0x11c4,"set_section_list_addresses");
          }
          var_15 = var_9(layout->tls_segment_);
          var_12 = (type_5)(var_15 >> 0x20);
          if (var_12 < var_11 || var_12 - var_11 < (type_5)((type_5)var_15 < var_13)) {
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.cc",0x11c6,"set_section_list_addresses");
          }
          *in_tls = true;
        }
        var_39 = Parameters::var_16(parameters);
        if (var_39) {
          pOVar16 = *var_3;
          if ((pOVar16->field_0x1c & 2) == 0) {
            (*pOVar16->_vptr_Output_data[0xd])(pOVar16);
            pOVar16 = *var_3;
          }
          var_24 = *(int *)((int)&pOVar16->data_size_ + 4);
          oVar12 = pOVar16->data_size_;
          var_18 = Free_list::var_17(&layout->free_list_,pOVar16->data_size_,var_15,minoff);
          if (var_18 == -1) {
            var_19 = (*(*var_3)->_vptr_Output_data[9])(*var_3);
            if (var_19 == 0) {
                    /* WARNING: Subroutine does not return */
              var_14("../../gold/output.cc",0x11ee,"set_section_list_addresses");
            }
            var_19 = (*(*var_3)->_vptr_Output_data[9])(*var_3);
            uVar28 = *(type_9 *)(var_19 + 0x20);
            pcVar20 = "out of patch space for section %s; relink with --incremental-full";
LAB_000f07c4:
            pcVar20 = (char *)var_20(pcVar20);
                    /* WARNING: Subroutine does not return */
            var_21(pcVar20,uVar28);
          }
          pOVar16 = *var_3;
          var_6 = pOVar16->field_0x1c;
          if ((var_6 & 1) != 0) goto LAB_000f089e;
          pOVar16->address_ = (var_18 - var_22) + var_23;
          pOVar16->field_0x1c = var_6 | 1;
          if ((var_6 & 4) != 0) goto LAB_000f087f;
          *(int *)&pOVar16->offset_ = (int)var_18;
          pOVar16->field_0x1c = var_6 | 5;
          *(int *)((int)&pOVar16->offset_ + 4) = (int)((type_14)var_18 >> 0x20);
          if ((var_6 & 2) == 0) {
            (*pOVar16->_vptr_Output_data[0xe])(pOVar16);
            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f08bd;
            pOVar16 = *var_3;
            if ((pOVar16->field_0x1c & 2) == 0) goto LAB_000f0860;
          }
          piVar1 = (int *)((int)&pOVar16->data_size_ + 4);
          var_13 = (type_5)((type_5)oVar12 < (type_5)pOVar16->data_size_);
          var_26 = var_24 - *piVar1;
          var_27 = var_18;
          if ((var_25(var_24,*piVar1) != var_25(var_26,var_13)) != (int)(var_26 - var_13) < 0) {
            var_19 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
            if (var_19 == 0) {
                    /* WARNING: Subroutine does not return */
              var_14("../../gold/output.cc",0x11f6,"set_section_list_addresses");
            }
            var_19 = (*(*var_3)->_vptr_Output_data[9])(*var_3);
            uVar28 = *(type_9 *)(var_19 + 0x20);
            pcVar20 = "%s: section changed size; relink with --incremental-full";
            goto LAB_000f07c4;
          }
        }
        else {
          if ((var_18 != var_27) && (var_28 != 1)) {
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.cc",0x11df,"set_section_list_addresses");
          }
          if (var_15._4_4_ != 0 || (int)var_15 != 0) {
            var_18 = var_18 + -1 + var_15;
            var_18 = var_7(-(var_15._4_4_ + (type_5)((int)var_15 != 0)) &
                              (type_5)((type_14)var_18 >> 0x20),-(int)var_15 & (type_5)var_18);
          }
          if ((var_28 != 1) || (var_8 != '\0')) {
            var_27 = var_18;
          }
          pOVar16 = *var_3;
          var_6 = pOVar16->field_0x1c;
          if ((var_6 & 1) != 0) {
LAB_000f089e:
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.h",0x142,"set_address");
          }
          pOVar16->address_ = (var_18 - var_22) + var_23;
          pOVar16->field_0x1c = var_6 | 1;
          if ((var_6 & 4) != 0) goto LAB_000f087f;
          pOVar16->field_0x1c = var_6 | 5;
          pOVar16->offset_ = var_27;
joined_r0x000f0642:
          if (((var_6 & 2) == 0) &&
             ((*pOVar16->_vptr_Output_data[0xe])(pOVar16), (pOVar16->field_0x1c & 2) == 0)) {
LAB_000f08bd:
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.h",0x163,"finalize_data_size");
          }
        }
      }
      else {
        var_39 = Parameters::var_16(parameters);
        if (!var_39) {
          pOVar16 = *var_3;
          if ((pOVar16->field_0x1c & 1) == 0) {
LAB_000f0977:
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.h",0xc5,"address");
          }
          var_12 = *(type_5 *)((int)&pOVar16->address_ + 4);
          var_35 = (var_18 - var_29) + var_23;
          var_31 = (type_5)var_35;
          var_30 = (type_5)((type_14)var_35 >> 0x20);
          if (var_12 < var_30 || var_12 - var_30 < (type_5)((type_5)pOVar16->address_ < var_31)) {
            if ((layout->script_options_->script_sections_).saw_sections_clause_ == false) {
                    /* WARNING: Subroutine does not return */
              var_14("../../gold/output.cc",0x1215,"set_section_list_addresses");
            }
            var_24 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
            pOVar16 = *var_3;
            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;
            uVar27 = (type_9)pOVar16->address_;
            uVar5 = *(type_9 *)((int)&pOVar16->address_ + 4);
            if (var_24 == 0) {
              pcVar20 = (char *)var_20("dot moves backward in linker script from 0x%llx to 0x%llx")
              ;
              var_35 = var_7(uVar27,var_30);
              uVar27 = uVar5;
            }
            else {
              var_31 = *(type_5 *)(var_24 + 0x20);
              pcVar20 = (char *)var_20(
                                       "address of section \'%s\' moves backward from 0x%llx to 0x%llx"
                                       );
              uVar28 = uVar5;
            }
            var_32(pcVar20,var_31,(int)var_35,(int)((type_14)var_35 >> 0x20),uVar27,uVar28);
            pOVar16 = *var_3;
          }
          else if (((var_25(var_33,var_26) !=
                    var_25(var_33 - var_26,(type_5)(var_34 < var_13))) ==
                    (int)((var_33 - var_26) - (type_5)(var_34 < var_13)) < 0) ||
                  ((var_28 ^ 1) == 0)) {
            var_18 = var_18 + pOVar16->address_;
            lVar6 = var_18 - var_35;
            if (((var_28 ^ 1) != 0) || (var_18 = var_18 - var_35, var_8 != '\0')) {
              var_18 = lVar6;
              var_27 = lVar6;
            }
          }
          else {
            pcVar20 = (char *)var_20(
                                     "script places BSS section in the middle of a LOAD segment; space will be allocated in the file"
                                     );
            var_36(pcVar20);
            pOVar16 = *var_3;
            if ((pOVar16->field_0x1c & 1) == 0) goto LAB_000f0977;
            var_12 = var_13 + (int)pOVar16->address_;
            var_18 = var_7(((var_26 + *(int *)((int)&pOVar16->address_ + 4) +
                               (type_5)var_37(var_13,(type_5)pOVar16->address_)) - var_30) -
                              (type_5)(var_12 < var_31),var_12 - var_31);
            var_27 = var_18;
          }
          var_6 = pOVar16->field_0x1c;
          if ((var_6 & 4) != 0) {
LAB_000f087f:
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.h",0x14b,"set_file_offset");
          }
          pOVar16->field_0x1c = var_6 | 4;
          pOVar16->offset_ = var_27;
          goto joined_r0x000f0642;
        }
        if (((*var_3)->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          var_14("../../gold/output.h",0xe3,"offset");
        }
        poVar2 = &(*var_3)->offset_;
        var_18 = *poVar2;
        var_27 = *poVar2;
      }
      var_13 = (type_5)var_18;
      var_39 = Parameters::var_16(parameters);
      if (var_39) {
        pOVar16 = *var_3;
        if ((parameters->options_ == (type_15 *)0x0) || ((parameters->debug_ & 0x10) == 0))
        goto LAB_000f0095;
        this_00 = parameters->errors_;
        var_24 = (*pOVar16->_vptr_Output_data[9])(pOVar16);
        pcVar20 = "(special)";
        if (var_24 != 0) {
          var_24 = (*(*var_3)->_vptr_Output_data[9])(*var_3);
          pcVar20 = *(char **)(var_24 + 0x20);
        }
        if (((*var_3)->field_0x1c & 2) == 0) goto LAB_000f0860;
        Errors::var_38(this_00,"set_section_list_addresses: %08lx %08lx %s",var_13,
                      (int)(*var_3)->data_size_,pcVar20);
        pOVar16 = *var_3;
        if (var_8 != '\0') goto LAB_000f00a0;
LAB_000f03a0:
        if ((pOVar16->field_0x1c & 2) == 0) {
LAB_000f0860:
                    /* WARNING: Subroutine does not return */
          var_14("../../gold/output.h",0xcf,"data_size");
        }
        var_18 = var_7((int)((type_14)var_18 >> 0x20) + *(int *)((int)&pOVar16->data_size_ + 4)
                          + (type_5)var_37(var_13,(type_5)pOVar16->data_size_),
                          var_13 + (int)pOVar16->data_size_);
        if (var_28 == 0) {
          var_27 = var_18;
        }
      }
      else {
        pOVar16 = *var_3;
LAB_000f0095:
        if (var_8 == '\0') goto LAB_000f03a0;
LAB_000f00a0:
        if (var_28 == 0) goto LAB_000f03a0;
      }
      var_24 = (int)((type_14)var_18 >> 0x20);
      var_13 = (type_5)((type_5)local_4c < (type_5)var_18);
      var_39 = var_25(local_4c._4_4_,var_24);
      var_24 = local_4c._4_4_ - var_24;
      if ((var_39 != var_25(var_24,var_13)) != (int)(var_24 - var_13) < 0) {
        local_4c = var_18;
      }
      var_24 = (*pOVar16->_vptr_Output_data[6])(pOVar16);
      if ((char)var_24 != '\0') {
        pOVar16 = *var_3;
        var_41 = (type_7 **)*pshndx;
        if (pOVar16->_vptr_Output_data[0xc] == var_40::do_set_out_shndx) {
          if ((var_41 != pOVar16[3]._vptr_Output_data) &&
             (pOVar16[3]._vptr_Output_data != (type_7 **)0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            var_14("../../gold/output.h",0x104b,"do_set_out_shndx");
          }
          pOVar16[3]._vptr_Output_data = var_41;
        }
        else {
          (*pOVar16->_vptr_Output_data[0xc])(pOVar16,var_41);
        }
        *pshndx = *pshndx + 1;
      }
      var_3 = var_3 + 1;
    } while ((pdl->super__Vector_base<var_4::type_11*,var_5::allocator<var_4::type_11*>var_1>var_2).
             _M_impl._M_finish != var_3);
    var_23 = var_23 + var_7((local_4c._4_4_ - var_19) - (type_5)((type_5)local_4c < (type_5)oVar11),
                           (type_5)local_4c - (type_5)oVar11);
    lVar6 = local_4c;
    var_35 = var_27;
  }
  local_4c = lVar6;
  *(type_5 *)poff = (type_5)local_4c;
  *(int *)((int)poff + 4) = local_4c._4_4_;
  *pfoff = var_35;
  return var_23;
}


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

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

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

{
  longlong *plVar1;
  undefined ***pppuVar2;
  byte bVar3;
  undefined4 *puVar4;
  code *pcVar5;
  longlong lVar6;
  longlong lVar7;
  ulonglong uVar8;
  ulonglong uVar9;
  ulonglong uVar10;
  char cVar11;
  int iVar12;
  int iVar13;
  undefined4 uVar14;
  undefined **ppuVar15;
  undefined **ppuVar16;
  undefined ***pppuVar17;
  uint uVar18;
  undefined *puVar19;
  undefined4 uVar20;
  undefined *puVar21;
  bool bVar22;
  longlong lVar23;
  longlong lVar24;
  undefined **local_7c [2];
  undefined **appuStack_74 [7];
  int *local_58;
  undefined8 local_54;
  undefined8 local_4c;
  undefined **local_44;
  uint local_40;
  undefined4 local_3c;
  undefined4 local_38;
  char local_33;
  byte local_32;
  char local_31;
  int *local_30;
  undefined8 local_2c;
  int *local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  lVar24 = CONCAT44(param_6,param_5);
  uStack_14 = 0xefff9;
  appuStack_74[3] = &__DT_PLTGOT;
  pppuVar17 = appuStack_74 + 2;
  local_3c = param_5;
  local_31 = param_3;
  local_38 = param_6;
  local_44 = (undefined **)*param_7;
  local_40 = param_7[1];
  lVar23 = *(longlong *)param_7;
  local_4c = *(longlong *)param_7;
  lVar6 = *(longlong *)param_7;
  appuStack_74[4] = (undefined **)*param_8;
  appuStack_74[6] = (undefined **)param_8[1];
  appuStack_74[2] = (undefined **)*param_4;
  if (appuStack_74[2] != (undefined **)param_4[1]) {
    local_30 = &DAT_0038f378;
    local_24 = local_30;
    do {
      ppuVar15 = appuStack_74[2];
      iVar12 = (int)((ulonglong)lVar6 >> 0x20);
      puVar19 = (undefined *)lVar6;
      local_7c[0] = (undefined **)*appuStack_74[2];
      local_7c[1] = (undefined **)0x8;
      local_32 = (**(code **)(*local_7c[0] + 0x1c))();
      local_7c[0] = (undefined **)*ppuVar15;
      appuStack_74[0] = (undefined **)0x0;
      local_7c[1] = (undefined **)0x400;
      local_33 = (**(code **)(*local_7c[0] + 0x20))();
      if (local_31 != '\0') {
        local_7c[0] = (undefined **)*ppuVar15;
        bVar3 = *(byte *)(local_7c[0] + 7);
        *(byte *)(local_7c[0] + 7) = bVar3 & 0xfa;
        if ((bVar3 & 8) == 0) {
          *(byte *)(local_7c[0] + 7) = bVar3 & 0xf8;
        }
        (**(code **)(*local_7c[0] + 0x3c))();
      }
      local_7c[0] = (undefined **)*appuStack_74[2];
      if (((uint)local_7c[0][7] & 1) == 0) {
        lVar23 = (**(code **)(*local_7c[0] + 0xc))();
        local_54 = lVar23;
        if (local_33 == '\0') {
          if (*param_10 != '\0') {
            local_7c[0] = *(undefined ***)(param_2 + 0x164);
            lVar24 = FUN_000efe40();
            uVar18 = (uint)((ulonglong)lVar24 >> 0x20);
            lVar23 = local_54;
            if (local_54._4_4_ < uVar18 ||
                (int)local_54._4_4_ - uVar18 < (uint)((undefined **)local_54 < (uint)lVar24)) {
              lVar23 = lVar24;
            }
            *param_10 = '\0';
          }
        }
        else if (*param_10 == '\0') {
          local_7c[0] = *(undefined ***)(param_2 + 0x164);
          if (local_7c[0] == (undefined **)0x0) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11c4;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          lVar23 = FUN_000efe40();
          uVar18 = (uint)((ulonglong)lVar23 >> 0x20);
          if (uVar18 < local_54._4_4_ ||
              uVar18 - (int)local_54._4_4_ < (uint)((uint)lVar23 < (undefined **)local_54)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11c6;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *param_10 = '\x01';
        }
        local_58 = local_30;
        local_7c[0] = (undefined **)*local_30;
        local_54 = lVar23;
        cVar11 = FUN_001395e0();
        ppuVar15 = appuStack_74[2];
        if (cVar11 == '\0') {
          uVar18 = CONCAT31(local_2c._1_3_,local_32);
          local_2c._0_4_ = (undefined *)(uVar18 ^ 1);
          uVar10 = CONCAT44(local_2c._4_4_,uVar18) ^ 1;
          uVar9 = CONCAT44(local_2c._4_4_,uVar18);
          uVar8 = CONCAT44(local_2c._4_4_,uVar18);
          if ((lVar6 != CONCAT44(appuStack_74[6],appuStack_74[4])) && (local_32 != 1)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed77;
            local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
            local_7c[1] = (undefined **)0x11df;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          if (local_54 != 0) {
            lVar6 = local_54 + lVar6 + -1;
            lVar6 = CONCAT44(-((int)local_54._4_4_ +
                              (uint)((undefined **)local_54 != (undefined **)0x0)) &
                             (uint)((ulonglong)lVar6 >> 0x20),
                             -(int)(undefined **)local_54 & (uint)lVar6);
          }
          if (((char)local_2c != '\0') ||
             (lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]), local_33 != '\0')) {
            lVar24 = lVar6;
          }
          ppuVar15 = (undefined **)*appuStack_74[2];
          bVar3 = *(byte *)(ppuVar15 + 7);
          local_2c = CONCAT44(local_2c._4_4_,uVar18) ^ 1;
          if ((bVar3 & 1) != 0) {
LAB_000f089e:
            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);
            appuStack_74[4] = (undefined **)lVar24;
            appuStack_74[0] = appuStack_74[3] + -0x3ec20;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x142;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *(longlong *)(ppuVar15 + 1) =
               (lVar6 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
          *(byte *)(ppuVar15 + 7) = bVar3 | 1;
          local_2c = uVar8 ^ 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          *(byte *)(ppuVar15 + 7) = bVar3 | 5;
          *(longlong *)(ppuVar15 + 5) = lVar24;
          lVar23 = lVar24;
          local_2c = uVar9 ^ 1;
joined_r0x000f0642:
          if ((bVar3 & 2) == 0) {
            appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);
            appuStack_74[4] = (undefined **)lVar23;
            local_7c[0] = ppuVar15;
            local_2c = uVar10;
            (**(code **)(*ppuVar15 + 0x38))();
            lVar23 = CONCAT44(appuStack_74[6],appuStack_74[4]);
            if (((uint)ppuVar15[7] & 2) == 0) {
LAB_000f08bd:
              appuStack_74[0] = appuStack_74[3] + -0x3ec29;
              local_7c[0] = appuStack_74[3] + -0x41c55;
              local_7c[1] = (undefined **)0x163;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
          }
        }
        else {
          local_7c[0] = (undefined **)*appuStack_74[2];
          lVar6 = local_54;
          if (((uint)local_7c[0][7] & 2) == 0) {
            (**(code **)(*local_7c[0] + 0x34))();
            local_7c[0] = (undefined **)*ppuVar15;
            lVar6 = local_54;
          }
          local_54._4_4_ = (undefined **)((ulonglong)lVar6 >> 0x20);
          local_54._0_4_ = (undefined **)lVar6;
          appuStack_74[5] = (undefined **)local_7c[0][4];
          appuStack_74[4] = (undefined **)local_7c[0][3];
          appuStack_74[0] = (undefined **)local_40;
          local_7c[1] = local_44;
          local_7c[0] = local_54._4_4_;
          lVar23 = FUN_000965d0(param_2 + 0x248,appuStack_74[4],appuStack_74[5],
                                (undefined **)local_54);
          local_54 = lVar6;
          ppuVar15 = appuStack_74[2];
          lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);
          if (lVar23 == -1) {
            local_7c[0] = (undefined **)*appuStack_74[2];
            iVar12 = (**(code **)(*local_7c[0] + 0x24))();
            if (iVar12 == 0) {
              appuStack_74[0] = appuStack_74[3] + -0x3ed77;
              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
              local_7c[1] = (undefined **)0x11ee;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
            local_7c[0] = (undefined **)*ppuVar15;
            pppuVar17 = local_7c;
            iVar12 = (**(code **)(*local_7c[0] + 0x24))();
            uVar20 = *(undefined4 *)(iVar12 + 0x20);
            ppuVar15 = appuStack_74[3] + -0x410f3;
            ppuVar16 = appuStack_74[3];
            goto LAB_000f07c4;
          }
          ppuVar16 = (undefined **)*appuStack_74[2];
          bVar3 = *(byte *)(ppuVar16 + 7);
          if ((bVar3 & 1) != 0) goto LAB_000f089e;
          *(longlong *)(ppuVar16 + 1) =
               (lVar23 - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
          *(byte *)(ppuVar16 + 7) = bVar3 | 1;
          if ((bVar3 & 4) != 0) goto LAB_000f087f;
          ppuVar16[5] = (undefined *)lVar23;
          *(byte *)(ppuVar16 + 7) = bVar3 | 5;
          ppuVar16[6] = (undefined *)((ulonglong)lVar23 >> 0x20);
          if ((bVar3 & 2) == 0) {
            local_7c[0] = ppuVar16;
            (**(code **)(*ppuVar16 + 0x38))();
            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f08bd;
            ppuVar16 = (undefined **)*ppuVar15;
            if (((uint)ppuVar16[7] & 2) == 0) goto LAB_000f0860;
          }
          iVar12 = (int)appuStack_74[5] - (int)ppuVar16[4];
          lVar6 = lVar23;
          if ((SBORROW4((int)appuStack_74[5],(int)ppuVar16[4]) !=
              SBORROW4(iVar12,(uint)(appuStack_74[4] < ppuVar16[3]))) !=
              (int)(iVar12 - (uint)(appuStack_74[4] < ppuVar16[3])) < 0) {
            while( true ) {
              puVar4 = *pppuVar17;
              puVar19 = *ppuVar16;
              pppuVar17[-4] = ppuVar16;
              pcVar5 = *(code **)(puVar19 + 0x24);
              pppuVar17[-5] = (undefined **)0xf07e3;
              iVar12 = (*pcVar5)();
              if (iVar12 == 0) break;
              iVar12 = *(int *)*puVar4;
              pppuVar17[-4] = (undefined **)*puVar4;
              pcVar5 = *(code **)(iVar12 + 0x24);
              pppuVar17[-5] = (undefined **)0xf07f6;
              iVar12 = (*pcVar5)();
              pppuVar2 = pppuVar17 + 1;
              uVar20 = *(undefined4 *)(iVar12 + 0x20);
              ppuVar15 = *pppuVar2 + -0x410e2;
              pppuVar17 = pppuVar17 + -4;
              ppuVar16 = *pppuVar2;
LAB_000f07c4:
              *pppuVar17 = ppuVar15;
              ((int *)pppuVar17)[-1] = 0xf07ce;
              uVar14 = gettext();
              ((int *)pppuVar17)[1] = uVar20;
              *pppuVar17 = (undefined **)uVar14;
              ((int *)pppuVar17)[-1] = 0xf07d7;
              FUN_00065480();
            }
            pppuVar17[-2] = pppuVar17[1] + 0xfffc1289;
            pppuVar17[-3] = (undefined **)0x11f6;
            pppuVar17[-4] = (undefined **)((int)pppuVar17[1] + -0xfcc95);
                    /* WARNING: Subroutine does not return */
            pppuVar17[-5] = (undefined **)0xf0843;
            FUN_00069d00();
          }
        }
      }
      else {
        local_58 = local_24;
        local_7c[0] = (undefined **)*local_24;
        cVar11 = FUN_001395e0();
        if (cVar11 == '\0') {
          appuStack_74[1] = (undefined **)*appuStack_74[2];
          if (((uint)appuStack_74[1][7] & 1) == 0) {
LAB_000f0977:
            appuStack_74[0] = appuStack_74[3] + -0x3eb59;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0xc5;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          local_54._4_4_ = (undefined **)appuStack_74[1][2];
          local_54._0_4_ = (undefined **)appuStack_74[1][1];
          lVar23 = lVar6 - CONCAT44(local_40,local_44);
          local_2c = lVar23 + CONCAT44(local_38,local_3c);
          ppuVar15 = (undefined **)(local_2c >> 0x20);
          lVar23 = lVar23 + CONCAT44(local_38,local_3c);
          if (local_54._4_4_ < ppuVar15 ||
              (uint)((int)local_54._4_4_ - (int)ppuVar15) <
              (uint)((undefined **)local_54 < (undefined **)local_2c)) {
            if (*(char *)(*(int *)(param_2 + 4) + 0xac) == '\0') {
              appuStack_74[0] = appuStack_74[3] + -0x3ed77;
              local_7c[0] = (undefined **)((int)appuStack_74[3] + -0xfcc95);
              local_7c[1] = (undefined **)0x1215;
                    /* WARNING: Subroutine does not return */
              FUN_00069d00();
            }
            local_7c[0] = appuStack_74[1];
            iVar13 = (**(code **)(*appuStack_74[1] + 0x24))();
            iVar12 = (int)*appuStack_74[2];
            if ((*(byte *)(iVar12 + 0x1c) & 1) == 0) goto LAB_000f0977;
            local_54._0_4_ = *(undefined ***)(iVar12 + 4);
            local_54._4_4_ = *(undefined ***)(iVar12 + 8);
            if (iVar13 == 0) {
              local_7c[0] = appuStack_74[3] + -0x3f2a7;
              uVar14 = gettext();
              uVar10 = CONCAT44((undefined **)local_54,local_2c._4_4_);
              local_7c[0] = local_54._4_4_;
              uVar20 = (undefined *)local_2c;
            }
            else {
              local_20 = *(undefined4 *)(iVar13 + 0x20);
              local_7c[0] = appuStack_74[3] + -0x3f298;
              uVar14 = gettext();
              local_7c[1] = local_54._4_4_;
              local_7c[0] = (undefined **)local_54;
              uVar20 = local_20;
              uVar10 = local_2c;
            }
            FUN_000654b0(uVar14,uVar20,uVar10);
            lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]);
            appuStack_74[1] = (undefined **)*appuStack_74[2];
          }
          else if (((SBORROW4((int)appuStack_74[6],iVar12) !=
                    SBORROW4((int)appuStack_74[6] - iVar12,(uint)(appuStack_74[4] < puVar19))) ==
                    (int)(((int)appuStack_74[6] - iVar12) - (uint)(appuStack_74[4] < puVar19)) < 0)
                  || ((local_32 ^ 1) == 0)) {
            lVar7 = lVar6 + *(longlong *)(appuStack_74[1] + 1);
            if (((local_32 ^ 1) != 0) ||
               (lVar6 = lVar7 - lVar23, lVar24 = CONCAT44(appuStack_74[6],appuStack_74[4]),
               local_33 != '\0')) {
              lVar6 = lVar7 - lVar23;
              lVar24 = lVar7 - lVar23;
            }
          }
          else {
            local_7c[0] = appuStack_74[3] + -0x3f2bf;
            local_7c[0] = (undefined **)gettext();
            FUN_000654e0();
            appuStack_74[1] = (undefined **)*appuStack_74[2];
            if (((uint)appuStack_74[1][7] & 1) == 0) goto LAB_000f0977;
            lVar6 = CONCAT44(appuStack_74[1][2] +
                             ((((uint)CARRY4((uint)puVar19,(uint)appuStack_74[1][1]) + iVar12) -
                              local_2c._4_4_) -
                             (uint)(puVar19 + (int)appuStack_74[1][1] < (undefined *)local_2c)),
                             (int)(puVar19 + (int)appuStack_74[1][1]) - (int)(undefined *)local_2c);
            lVar24 = lVar6;
          }
          bVar3 = *(byte *)(appuStack_74[1] + 7);
          if ((bVar3 & 4) != 0) {
LAB_000f087f:
            appuStack_74[6] = (undefined **)((ulonglong)lVar24 >> 0x20);
            appuStack_74[4] = (undefined **)lVar24;
            appuStack_74[0] = appuStack_74[3] + -0x3ec24;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x14b;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          *(byte *)(appuStack_74[1] + 7) = bVar3 | 4;
          *(longlong *)(appuStack_74[1] + 5) = lVar24;
          ppuVar15 = appuStack_74[1];
          lVar23 = lVar24;
          uVar10 = local_2c;
          goto joined_r0x000f0642;
        }
        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 4) == 0) {
          appuStack_74[0] = appuStack_74[3] + -0x3eb67;
          local_7c[0] = appuStack_74[3] + -0x41c55;
          local_7c[1] = (undefined **)0xe3;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00();
        }
        plVar1 = (longlong *)((int)*appuStack_74[2] + 0x14);
        lVar23 = *plVar1;
        lVar6 = *plVar1;
      }
      uVar18 = (uint)lVar6;
      appuStack_74[6] = (undefined **)((ulonglong)lVar23 >> 0x20);
      appuStack_74[4] = (undefined **)lVar23;
      local_7c[0] = (undefined **)*local_58;
      cVar11 = FUN_001395e0();
      ppuVar15 = appuStack_74[2];
      if (cVar11 == '\0') {
        local_7c[0] = (undefined **)*appuStack_74[2];
LAB_000f0095:
        if (local_33 == '\0') goto LAB_000f03a0;
LAB_000f00a0:
        lVar23 = local_4c;
        if (local_32 == 0) goto LAB_000f03a0;
      }
      else {
        puVar4 = (undefined4 *)*local_58;
        local_7c[0] = (undefined **)*appuStack_74[2];
        if ((puVar4[2] == 0) || ((*(byte *)(puVar4 + 5) & 0x10) == 0)) goto LAB_000f0095;
        uVar20 = *puVar4;
        iVar12 = (**(code **)(*local_7c[0] + 0x24))();
        local_7c[0] = (undefined **)((int)appuStack_74[3] + -0x104a65);
        if (iVar12 != 0) {
          local_7c[0] = (undefined **)*ppuVar15;
          iVar12 = (**(code **)(*local_7c[0] + 0x24))();
          local_7c[0] = *(undefined ***)(iVar12 + 0x20);
        }
        ppuVar15 = appuStack_74[2];
        if ((*(byte *)((int)*appuStack_74[2] + 0x1c) & 2) == 0) goto LAB_000f0860;
        FUN_000653f0(uVar20,appuStack_74[3] + -0x3f288,uVar18,
                     *(undefined4 *)((int)*appuStack_74[2] + 0xc));
        local_7c[0] = (undefined **)*ppuVar15;
        if (local_33 != '\0') goto LAB_000f00a0;
LAB_000f03a0:
        if (((uint)local_7c[0][7] & 2) == 0) {
LAB_000f0860:
          appuStack_74[0] = appuStack_74[3] + -0x3eb48;
          local_7c[0] = appuStack_74[3] + -0x41c55;
          local_7c[1] = (undefined **)0xcf;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00();
        }
        puVar19 = local_7c[0][3] + uVar18;
        puVar21 = local_7c[0][4] +
                  (uint)CARRY4(uVar18,(uint)local_7c[0][3]) + (int)((ulonglong)lVar6 >> 0x20);
        lVar6 = CONCAT44(puVar21,puVar19);
        lVar23 = local_4c;
        if (local_32 == 0) {
          appuStack_74[4] = (undefined **)puVar19;
          appuStack_74[6] = (undefined **)puVar21;
          lVar6 = CONCAT44(puVar21,puVar19);
        }
      }
      local_4c._4_4_ = (int)((ulonglong)lVar23 >> 0x20);
      local_4c._0_4_ = (uint)lVar23;
      iVar12 = (int)((ulonglong)lVar6 >> 0x20);
      uVar18 = (uint)((uint)local_4c < (uint)lVar6);
      bVar22 = SBORROW4(local_4c._4_4_,iVar12);
      iVar12 = local_4c._4_4_ - iVar12;
      local_4c = lVar23;
      if ((bVar22 != SBORROW4(iVar12,uVar18)) != (int)(iVar12 - uVar18) < 0) {
        local_4c = lVar6;
      }
      cVar11 = (**(code **)(*local_7c[0] + 0x18))();
      if (cVar11 != '\0') {
        local_7c[0] = (undefined **)*appuStack_74[2];
        local_7c[1] = (undefined **)*param_9;
        if (*(undefined ***)(*local_7c[0] + 0x30) == appuStack_74[3] + -0xba8f4) {
          if ((local_7c[1] != (undefined **)local_7c[0][0x18]) &&
             (local_7c[0][0x18] != (undefined *)0xffffffff)) {
            appuStack_74[0] = appuStack_74[3] + -0x3ed7c;
            local_7c[0] = appuStack_74[3] + -0x41c55;
            local_7c[1] = (undefined **)0x104b;
                    /* WARNING: Subroutine does not return */
            FUN_00069d00();
          }
          local_7c[0][0x18] = (undefined *)local_7c[1];
        }
        else {
          (*(code *)*(undefined ***)(*local_7c[0] + 0x30))();
        }
        *param_9 = *param_9 + 1;
      }
      appuStack_74[2] = appuStack_74[2] + 1;
    } while ((undefined **)param_4[1] != appuStack_74[2]);
    lVar24 = (local_4c - CONCAT44(local_40,local_44)) + CONCAT44(local_38,local_3c);
    lVar23 = local_4c;
  }
  *(longlong *)param_7 = lVar23;
  *param_8 = (int)appuStack_74[4];
  param_8[1] = (int)appuStack_74[6];
  return lVar24;
}

