
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

MagickBooleanType
CopyImageRegion(Image *destination,Image *source,size_t columns,size_t rows,ssize_t sx,ssize_t sy,
               ssize_t dx,ssize_t dy,ExceptionInfo *exception)

{
  bool bVar1;
  undefined *puVar2;
  PixelTrait PVar3;
  PixelInfo *pPVar4;
  int iVar5;
  CompressionType CVar6;
  Image *pIVar7;
  MagickBooleanType MVar8;
  int extraout_v1;
  Image *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  Image *extraout_v1_03;
  size_t sVar9;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  undefined4 uVar10;
  int extraout_v1_12;
  int extraout_v1_13;
  int extraout_v1_14;
  int extraout_v1_15;
  ClassType CVar11;
  Image *pIVar12;
  size_t sVar13;
  Image *pIVar14;
  Image *pIVar15;
  ColorspaceType CVar16;
  int iVar17;
  size_t sVar18;
  int iVar19;
  Image *pIVar20;
  Image *pIVar21;
  undefined4 *puVar22;
  size_t *psVar23;
  ColorspaceType CVar24;
  undefined *puVar25;
  code *pcVar26;
  undefined *puVar27;
  Image *unaff_s8;
  code *pcVar28;
  code *pcVar29;
  double dVar30;
  float fVar31;
  double dVar32;
  undefined8 uVar33;
  undefined4 uStack_1e8;
  undefined4 uStack_1e4;
  Image *pIStack_1dc;
  ColorspaceType CStack_1d8;
  CompressionType CStack_1d4;
  size_t sStack_1d0;
  ClassType CStack_1cc;
  Image *pIStack_1c8;
  CompressionType CStack_1c4;
  size_t sStack_1c0;
  MagickBooleanType MStack_1bc;
  undefined4 *puStack_1b8;
  Image **ppIStack_1b4;
  size_t sStack_1b0;
  size_t sStack_1ac;
  Image *pIStack_1a4;
  Image *pIStack_1a0;
  Image *pIStack_19c;
  undefined4 *puStack_198;
  PixelTrait PStack_194;
  PixelInfo *pPStack_190;
  Image *pIStack_18c;
  Image *pIStack_188;
  code *pcStack_184;
  Image *pIStack_170;
  Image *pIStack_16c;
  code *pcStack_168;
  undefined4 uStack_15c;
  Image *pIStack_158;
  undefined4 uStack_154;
  int iStack_150;
  ClassType *pCStack_14c;
  MagickBooleanType MStack_148;
  ClassType CStack_144;
  Image *pIStack_140;
  Image *pIStack_13c;
  Image *pIStack_138;
  undefined4 *puStack_134;
  PixelTrait PStack_130;
  PixelInfo *pPStack_12c;
  Image *pIStack_128;
  Image *pIStack_124;
  Image *pIStack_120;
  code *pcStack_11c;
  Image *pIStack_100;
  char *pcStack_fc;
  int iStack_f8;
  char *pcStack_f4;
  undefined *puStack_f0;
  undefined4 *puStack_e4;
  undefined4 uStack_e0;
  undefined4 uStack_dc;
  ClassType CStack_d4;
  ColorspaceType CStack_d0;
  CompressionType CStack_cc;
  size_t sStack_c8;
  Image *pIStack_c4;
  Image *pIStack_c0;
  PixelInfo *pPStack_bc;
  PixelTrait PStack_b8;
  Image *pIStack_b4;
  Image *pIStack_b0;
  Image *pIStack_ac;
  Image *pIStack_a8;
  Image *pIStack_a4;
  Image *pIStack_a0;
  PixelInfo *pPStack_9c;
  Image *pIStack_98;
  undefined *puStack_94;
  PixelTrait PStack_90;
  PixelInfo *pPStack_8c;
  size_t sStack_88;
  size_t sStack_84;
  Image *pIStack_80;
  code *pcStack_7c;
  Image *local_5c;
  Image *local_58;
  CompressionType local_54;
  size_t local_50;
  ClassType local_4c;
  MagickBooleanType local_48;
  PixelTrait local_44;
  size_t local_40;
  ExceptionInfo *local_3c;
  PixelTrait local_38;
  PixelInfo *local_34;
  Image *local_30;
  Image *local_2c;
  
  puVar2 = PTR___stack_chk_guard_003a9230;
  local_2c = *(Image **)PTR___stack_chk_guard_003a9230;
  PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception);
  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception);
  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source);
  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))
     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||
         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))) {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    sVar9 = rows;
    if ((int)rows < 0) {
      sVar9 = rows + 0x3f;
    }
    unaff_s8 = (Image *)((int)sVar9 >> 6);
    if (extraout_v1 < (int)unaff_s8) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_02 < 2;
    }
    else {
      bVar1 = (int)rows < 0x80;
    }
    pIVar21 = (Image *)0x1;
    if (((bool)(bVar1 ^ 1)) &&
       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,
       extraout_v1_01 < (int)unaff_s8)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      pIVar21 = extraout_v1_03;
      unaff_s8 = extraout_v1_03;
    }
  }
  else {
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
        pIVar21 = (Image *)0x1;
        goto LAB_001c6ec4;
      }
    }
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      pIVar21 = extraout_v1_00;
    }
    else {
      pIVar21 = (Image *)0x2;
    }
  }
LAB_001c6ec4:
  pIVar12 = (Image *)&local_5c;
  local_40 = dy;
  local_44 = dx;
  local_3c = exception;
  local_48 = sy;
  local_4c = sx;
  local_30 = (Image *)0x1;
  local_5c = destination;
  local_58 = source;
  local_54 = columns;
  local_50 = rows;
  local_38 = PVar3;
  local_34 = pPVar4;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0);
  pIVar7 = local_30;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3);
  if (local_2c == *(Image **)puVar2) {
    return (MagickBooleanType)pIVar7;
  }
  pcVar28 = ChopImage;
  pIVar20 = local_2c;
  puVar25 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puVar27 = puVar25 + 0x1e9808;
  puStack_94 = puVar2;
  puVar22 = *(undefined4 **)(puVar25 + 0x1e2188);
  pPStack_9c = (PixelInfo *)exception;
  pIStack_a0 = pIVar7;
  pIStack_a4 = (Image *)*puVar22;
  puStack_f0 = puVar27;
  pIStack_98 = destination;
  PStack_90 = PVar3;
  pPStack_8c = pPVar4;
  sStack_88 = rows;
  sStack_84 = columns;
  pIStack_80 = unaff_s8;
  pcStack_7c = pcVar28;
  if (pIVar20 == (Image *)0x0) {
LAB_001c777c:
    pIVar21 = destination;
    pIVar20 = pIVar7;
    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);
    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);
    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);
  }
  else {
    if (pIVar20->signature != 0xabacadab) {
LAB_001c7758:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,
                 *(int *)(puVar27 + -0x7fc4) + -0x2620);
      pIVar7 = pIVar20;
      goto LAB_001c777c;
    }
    if (pIVar20->debug != MagickFalse) {
      pcStack_fc = pIVar20->filename;
      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);
      (**(code **)(puVar25 + 0x1e2138))
                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,
                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);
    }
    puVar27 = puStack_f0;
    if (pIVar21 == (Image *)0x0) {
      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;
      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;
      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)
      ;
LAB_001c771c:
      iVar17 = iVar17 + -0x2620;
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);
LAB_001c7738:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,
                 iVar17 + -0x2620);
      exception = (ExceptionInfo *)pIVar12;
      destination = pIVar21;
      goto LAB_001c7758;
    }
    iVar17 = *(int *)(puStack_f0 + -0x7fc4);
    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;
    iVar5 = *(int *)(puStack_f0 + -0x7fc4);
    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;
    CVar6 = pIVar12->compression;
    CVar11 = pIVar12->storage_class;
    if ((int)(CVar6 + CVar11) < 0) {
LAB_001c7544:
      pIVar20 = (Image *)pIVar20->filename;
      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;
      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);
      exception = (ExceptionInfo *)0x0;
      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);
      pIStack_100 = (Image *)0x136;
      pcStack_f4 = (char *)pIVar20;
      (**(code **)(puStack_f0 + -0x7990))
                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);
    }
    else {
      sVar9 = pIVar12->quality;
      iVar5 = sVar9 + pIVar12->colorspace;
      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;
      sVar13 = pIVar20->rows;
      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;
      if ((int)sVar18 < (int)(CVar6 + CVar11)) {
        CVar11 = sVar18 - CVar6;
      }
      CStack_d0 = sVar13 - sVar9;
      if (iVar5 <= (int)sVar13) {
        CStack_d0 = pIVar12->colorspace;
      }
      CStack_d4 = CVar11;
      CStack_cc = CVar6;
      if ((int)CVar6 < 0) {
        CStack_d4 = CVar11 + CVar6;
        CStack_cc = UndefinedCompression;
      }
      sStack_c8 = sVar9;
      if ((int)sVar9 < 0) {
        CStack_d0 = CStack_d0 + sVar9;
        sStack_c8 = 0;
      }
      pIVar12 = (Image *)(sVar18 - CStack_d4);
      pIStack_100 = pIVar21;
      exception = (ExceptionInfo *)
                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);
      if ((Image *)exception != (Image *)0x0) {
        uStack_dc = 0;
        uStack_e0 = 0;
        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);
        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&
           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||
            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          sVar9 = sStack_c8;
          if ((int)sStack_c8 < 0) {
            sVar9 = sStack_c8 + 0x3f;
          }
          if (extraout_v1_04 < (int)sVar9 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_08 < 2;
          }
          else {
            bVar1 = (int)sStack_c8 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            sVar9 = sStack_c8;
            if ((int)sStack_c8 < 0) {
              sVar9 = sStack_c8 + 0x3f;
            }
            iVar5 = (int)sVar9 >> 6;
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
            if (extraout_v1_09 < iVar5) {
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              goto LAB_001c75c4;
            }
          }
          else {
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
          }
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            uVar33 = (*pcVar28)(7);
            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            iVar5 = 1;
          }
          else {
LAB_001c727c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
LAB_001c7280:
            uVar33 = (*pcVar28)(7);
            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75c4:
              (*pcVar28)(7);
              iVar5 = extraout_v1_07;
            }
            else {
              iVar5 = 2;
            }
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        puStack_e4 = &uStack_e0;
        columns = (size_t)&pIStack_c4;
        rows = (size_t)&CStack_d4;
        pIStack_a8 = (Image *)0x1;
        pIStack_c4 = pIVar20;
        pIStack_c0 = pIVar21;
        pPStack_bc = pPVar4;
        PStack_b8 = PVar3;
        pIStack_b4 = (Image *)exception;
        pIStack_b0 = (Image *)puStack_e4;
        pIStack_ac = (Image *)rows;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);
        unaff_s8 = pIStack_a8;
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&
           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||
            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);
          iVar5 = iVar17;
          if (iVar17 < 0) {
            iVar5 = iVar17 + 0x3f;
          }
          if (extraout_v1_05 < iVar5 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_11 < 2;
          }
          else {
            bVar1 = iVar17 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);
            if (iVar5 < 0) {
              iVar5 = iVar5 + 0x3f;
            }
            iVar5 = iVar5 >> 6;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;
            goto LAB_001c7344;
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if ((uint)uVar33 < 2) {
              uVar33 = (*pcVar28)(7);
              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              if ((uint)uVar33 < 2) {
                iVar5 = 1;
                goto LAB_001c7344;
              }
            }
          }
          else {
LAB_001c732c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
          }
          uVar33 = (*pcVar28)(7);
          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75a4:
            (*pcVar28)(7);
            iVar5 = extraout_v1_06;
          }
          else {
            iVar5 = 2;
          }
LAB_001c7344:
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        pIStack_a8 = (Image *)puStack_e4;
        pIStack_ac = unaff_s8;
        pIVar12 = (Image *)columns;
        pIStack_c4 = pIVar20;
        pIStack_c0 = pIVar21;
        pPStack_bc = pPVar4;
        PStack_b8 = PVar3;
        pIStack_b4 = (Image *)exception;
        pIStack_b0 = (Image *)rows;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);
        pIVar21 = pIStack_ac;
        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);
        (**(code **)(puStack_f0 + -0x79bc))(PVar3);
        ((Image *)exception)->type = pIVar20->type;
        if (pIVar21 == (Image *)0x0) {
          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);
        }
      }
    }
    pIVar7 = pIStack_a4;
    puVar27 = puStack_f0;
    if (pIStack_a4 == (Image *)*puVar22) {
      return (MagickBooleanType)(Image *)exception;
    }
  }
  pcVar26 = *(code **)(puVar27 + -0x784c);
  pcVar29 = ConsolidateCMYKImages;
  (*pcVar26)();
  pcVar28 = pcVar26 + 0x1e9104;
  pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84);
  pIVar14 = (Image *)&DAT_000001b4;
  CStack_144 = *pCStack_14c;
  pcStack_168 = pcVar28;
  pIStack_158 = pIVar12;
  pIStack_140 = pIVar20;
  pIStack_13c = (Image *)exception;
  pIStack_138 = pIVar21;
  puStack_134 = puVar22;
  PStack_130 = PVar3;
  pPStack_12c = pPVar4;
  pIStack_128 = (Image *)rows;
  pIStack_124 = (Image *)columns;
  pIStack_120 = unaff_s8;
  pcStack_11c = pcVar29;
  if (pIVar7 == (Image *)0x0) {
LAB_001c7c28:
    pIVar7 = (Image *)columns;
    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);
    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;
    (**(code **)(pcVar28 + -0x72a8))();
  }
  else {
    if (pIVar7->signature != 0xabacadab) {
      (**(code **)(pcVar26 + 0x1e1e5c))
                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,
                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);
LAB_001c7bdc:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c00:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c24:
      pIVar14 = (Image *)0x1c0;
      columns = (size_t)pIVar7;
      goto LAB_001c7c28;
    }
    if (pIVar7->debug != MagickFalse) {
      pIStack_16c = (Image *)pIVar7->filename;
      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);
      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);
      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);
      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);
    }
    pcVar28 = pcStack_168;
    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;
    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;
    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();
    iStack_150 = 0;
    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);
    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);
    if (iStack_150 < iVar5) {
      do {
        pcVar28 = pcStack_168;
        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;
        pIVar14 = (Image *)0x0;
        pIVar12 = (Image *)0x0;
        pIStack_170 = pIStack_158;
        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);
        pIVar15 = pIStack_158;
        if ((Image *)rows == (Image *)0x0) break;
        pIVar12 = (Image *)0x1;
        pIVar14 = pIStack_158;
        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);
        pIVar20 = pIVar15;
        if (iVar5 == 0) break;
        (**(code **)(pcStack_168 + -0x7b70))(rows,2);
        pIVar20 = (Image *)0x0;
        pIVar14 = pIVar15;
        do {
          exception = (ExceptionInfo *)pIStack_158;
          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);
          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);
          if (0 < (int)pIVar7->rows) {
            pIVar21 = (Image *)0x0;
            while( true ) {
              exception = (ExceptionInfo *)pIStack_158;
              pIStack_170 = (Image *)0x1;
              pIStack_16c = pIStack_158;
              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);
              pIStack_170 = (Image *)0x1;
              pIStack_16c = (Image *)exception;
              pIVar14 = pIVar21;
              puVar22 = (undefined4 *)
                        (**(code **)(pcStack_168 + -0x7c60))
                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);
              if (PVar3 == UndefinedPixelTrait) break;
              pcVar28 = *(code **)(pcStack_168 + -0x79bc);
              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;
              pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              if (0 < (int)pIVar7->columns) {
                exception = (ExceptionInfo *)0x2;
                iVar5 = 0;
                do {
                  while( true ) {
                    iVar17 = iVar5;
                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);
                    fVar31 = (float)(dVar32 - dVar30);
                    if (pIVar20 != (Image *)0x2) break;
                    sVar9 = ((Image *)rows)->number_channels;
                    PVar3 = PVar3 + pIVar7->number_channels * 4;
                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;
                    puVar22 = puVar22 + sVar9;
                    iVar5 = iVar17 + 1;
                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;
                  }
                  if (pIVar20 == (Image *)0x3) {
                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {
                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;
                    }
                  }
                  else if (pIVar20 == (Image *)0x1) {
                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;
                  }
                  else {
                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;
                  }
                  PVar3 = PVar3 + pIVar7->number_channels * 4;
                  puVar22 = puVar22 + ((Image *)rows)->number_channels;
                  iVar5 = iVar17 + 1;
                } while (iVar17 + 1 < (int)pIVar7->columns);
LAB_001c7a88:
                pPVar4 = (PixelInfo *)(iVar17 + 1);
                pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              }
              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);
              if ((iVar5 == 0) ||
                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),
                 (int)pIVar7->rows <= (int)pIVar21)) break;
            }
          }
          pcVar28 = *(code **)(pcStack_168 + -0x79bc);
LAB_001c7ab8:
          (*pcVar28)(uStack_15c);
          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);
          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);
        } while ((pIVar7 != (Image *)0x0) &&
                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),
                pIVar20 != (Image *)&DAT_00000004));
        iStack_150 = iStack_150 + 4;
        pIVar12 = (Image *)rows;
        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);
        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);
      } while (iStack_150 < iVar5);
    }
    CVar11 = CStack_144;
    pcVar28 = pcStack_168;
    if (CStack_144 == *pCStack_14c) {
      return MStack_148;
    }
  }
  pcVar28 = *(code **)(pcVar28 + -0x784c);
  pcVar26 = CropImage;
  (*pcVar28)();
  psVar23 = *(size_t **)(pcVar28 + 0x1e15dc);
  sStack_1ac = *psVar23;
  pIStack_1a4 = pIVar20;
  pIStack_1a0 = (Image *)exception;
  pIStack_19c = pIVar21;
  puStack_198 = puVar22;
  PStack_194 = PVar3;
  pPStack_190 = pPVar4;
  pIStack_18c = (Image *)rows;
  pIStack_188 = pIVar7;
  pcStack_184 = pcVar26;
  if (CVar11 == UndefinedClass) {
    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))
                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c
                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return MVar8;
  }
  if (*(int *)(CVar11 + 0x336c) != -0x54535255) {
    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))
                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c
                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return MVar8;
  }
  if (*(int *)(CVar11 + 0x3350) != 0) {
    (**(code **)(pcVar28 + 0x1e158c))
              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,
               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);
  }
  iVar5 = *(int *)(pcVar28 + 0x1e0c98);
  if (pIVar12 == (Image *)0x0) {
    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))
                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c
                       ,0x23c,iVar5 + -0x2668);
    return MVar8;
  }
  if (pIVar14 == (Image *)0x0) {
    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))
                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,
                       0x23d,iVar5 + -0x2668);
    return MVar8;
  }
  pIVar21 = *(Image **)(pcVar28 + 0x1e0c98);
  if (pIVar14->rows != 0xabacadab) goto LAB_001c8358;
  pIVar7 = *(Image **)(CVar11 + 0x228);
  CVar24 = *(ColorspaceType *)(CVar11 + 0x22c);
  iVar17 = *(int *)(CVar11 + 0x230);
  sVar9 = *(size_t *)(CVar11 + 0x234);
  if (pIVar7 == (Image *)0x0) {
    pIVar7 = *(Image **)(CVar11 + 0x18);
LAB_001c7cf8:
    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);
  }
  else if (CVar24 == UndefinedColorspace) {
    pIVar7 = *(Image **)(CVar11 + 0x18);
    goto LAB_001c7cf8;
  }
  CStack_1d4 = pIVar12->compression;
  sVar18 = pIVar12->quality;
  pIStack_1dc = (Image *)pIVar12->storage_class;
  if ((Image *)pIVar12->storage_class == (Image *)0x0) {
    pIStack_1dc = pIVar7;
  }
  CStack_1d8 = pIVar12->colorspace;
  if (pIVar12->colorspace == UndefinedColorspace) {
    CStack_1d8 = CVar24;
  }
  if ((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc) {
    CVar6 = CStack_1d4 - iVar17;
    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;
    iVar5 = *(int *)(CVar11 + 0x18);
    sStack_1d0 = sVar18 - sVar9;
    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))
    goto LAB_001c7d60;
    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {
      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);
      CStack_1d4 = UndefinedCompression;
    }
    else {
      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));
      CStack_1d4 = CVar6;
      if ((int)CVar6 < 0) {
        CStack_1d4 = UndefinedCompression;
      }
    }
    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {
      CStack_1d8 = sStack_1d0 + CStack_1d8;
      sStack_1d0 = 0;
      sVar18 = sVar9;
    }
    else {
      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);
      if ((int)sStack_1d0 < 0) {
        sStack_1d0 = 0;
        sVar18 = sVar9;
      }
    }
    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {
      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);
    }
    pIVar21 = (Image *)pIVar12->storage_class;
    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {
      pIStack_1dc = pIVar21;
    }
    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {
      CStack_1d8 = iVar19 - sStack_1d0;
    }
    CVar16 = pIVar12->colorspace;
    iVar17 = CStack_1d4 + iVar17;
    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {
      if ((pIStack_1dc != (Image *)0x0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))
      goto LAB_001c7f40;
LAB_001c8110:
      iVar5 = 0x285;
      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);
      (**(code **)(pcVar28 + 0x1e12cc))
                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,
                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,
                 CVar11 + 0x340);
      goto LAB_001c815c;
    }
    CStack_1d8 = CVar16;
    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;
    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);
LAB_001c7f40:
    iVar5 = 1;
    pIVar21 = pIStack_1dc;
    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);
    if (MVar8 == MagickFalse) goto LAB_001c815c;
    uVar10 = *(undefined4 *)(CVar11 + 0x22c);
    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);
    *(undefined4 *)(MVar8 + 0x22c) = uVar10;
    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||
       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {
      *(Image **)(MVar8 + 0x228) = pIVar7;
      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;
    }
    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);
    *(int *)(MVar8 + 0x230) = iVar17;
    uStack_1e4 = 0;
    *(size_t *)(MVar8 + 0x234) = sVar18;
    uStack_1e8 = 0;
    sVar9 = (*pcVar26)(CVar11,pIVar14);
    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);
    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);
    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&
       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||
        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {
      (**(code **)(pcVar28 + 0x1e14e8))(7);
      iVar17 = *(int *)(MVar8 + 0x1c);
      iVar5 = iVar17;
      if (iVar17 < 0) {
        iVar5 = iVar17 + 0x3f;
      }
      if (extraout_v1_13 < iVar5 >> 6) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        bVar1 = extraout_v1_15 < 2;
      }
      else {
        bVar1 = iVar17 < 0x80;
      }
      iVar17 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        iVar17 = *(int *)(MVar8 + 0x1c);
        if (iVar17 < 0) {
          iVar17 = iVar17 + 0x3f;
        }
        iVar17 = iVar17 >> 6;
        if (extraout_v1_14 < iVar17) {
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          goto LAB_001c8184;
        }
      }
    }
    else {
      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);
      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
        if ((uint)uVar33 < 2) {
          uVar33 = (*pcVar26)(7);
          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          if ((uint)uVar33 < 2) {
            iVar17 = 1;
            goto LAB_001c8038;
          }
        }
      }
      else {
LAB_001c801c:
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
      }
      uVar33 = (*pcVar26)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {
LAB_001c8184:
        (*pcVar26)(7);
        iVar17 = extraout_v1_12;
      }
      else {
        iVar17 = 2;
      }
    }
LAB_001c8038:
    puStack_1b8 = &uStack_1e8;
    iVar5 = 0;
    ppIStack_1b4 = &pIStack_1dc;
    pIVar21 = (Image *)&CStack_1cc;
    sStack_1b0 = 1;
    CStack_1cc = CVar11;
    pIStack_1c8 = pIVar14;
    CStack_1c4 = CVar6;
    sStack_1c0 = sVar9;
    MStack_1bc = MVar8;
    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);
    sVar18 = sStack_1b0;
    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);
    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);
    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);
    if (sVar18 == 0) {
      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);
    }
  }
  else {
LAB_001c7d60:
    sStack_1d0 = sVar18;
    (**(code **)(pcVar28 + 0x1e12cc))
              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674
               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,
               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);
    iVar5 = 1;
    pIVar21 = (Image *)0x1;
    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);
    if (MVar8 == MagickFalse) {
LAB_001c815c:
      MVar8 = MagickFalse;
    }
    else {
      pcVar26 = *(code **)(pcVar28 + 0x1e123c);
      *(undefined4 *)(MVar8 + 0xd4) = 0;
      *(undefined4 *)(MVar8 + 0xd0) = 0;
      *(undefined4 *)(MVar8 + 0x90) = 4;
      (*pcVar26)(MVar8,pIVar14);
      *(Image **)(MVar8 + 0x228) = pIVar7;
      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;
      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;
      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;
      pIVar21 = pIVar14;
      if (*(int *)(MVar8 + 0x268) == 2) {
        *(undefined4 *)(MVar8 + 0x268) = 1;
      }
    }
  }
  if (sStack_1ac == *psVar23) {
    return MVar8;
  }
  (**(code **)(pcVar28 + 0x1e1410))();
LAB_001c8358:
  MVar8 = (**(code **)(pcVar28 + 0x1e19b4))
                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,
                     iVar5 + -0x2668);
  return MVar8;
}



uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,
                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
                      uint ****param_9)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  uint ***pppuVar6;
  uint ****ppppuVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int extraout_v1;
  uint ****extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  uint ****extraout_v1_03;
  uint ***pppuVar10;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  int extraout_v1_12;
  int extraout_v1_13;
  int extraout_v1_14;
  int extraout_v1_15;
  uint **ppuVar11;
  uint ***pppuVar12;
  uint ****ppppuVar13;
  uint ***pppuVar14;
  uint ****ppppuVar15;
  uint ****ppppuVar16;
  int iVar17;
  uint ***pppuVar18;
  uint **ppuVar19;
  uint **ppuVar20;
  uint ****ppppuVar21;
  uint ****ppppuVar22;
  undefined4 *puVar23;
  int *piVar24;
  undefined *puVar25;
  code *pcVar26;
  undefined *puVar27;
  uint ****unaff_s8;
  code *pcVar28;
  code *pcVar29;
  double dVar30;
  float fVar31;
  double dVar32;
  undefined8 uVar33;
  undefined4 uStack_1e8;
  undefined4 uStack_1e4;
  uint ***pppuStack_1dc;
  uint **ppuStack_1d8;
  uint **ppuStack_1d4;
  uint **ppuStack_1d0;
  uint **ppuStack_1cc;
  uint ***pppuStack_1c8;
  undefined4 uStack_1c4;
  undefined4 uStack_1c0;
  uint ***pppuStack_1bc;
  undefined4 *puStack_1b8;
  uint ***pppuStack_1b4;
  int iStack_1b0;
  int iStack_1ac;
  uint ***pppuStack_1a4;
  uint ***pppuStack_1a0;
  uint ***pppuStack_19c;
  undefined4 *puStack_198;
  int iStack_194;
  int iStack_190;
  uint ***pppuStack_18c;
  uint ***pppuStack_188;
  code *pcStack_184;
  uint ***pppuStack_170;
  uint ***pppuStack_16c;
  code *pcStack_168;
  undefined4 uStack_15c;
  uint ***pppuStack_158;
  undefined4 uStack_154;
  int iStack_150;
  int *piStack_14c;
  uint ***pppuStack_148;
  uint **ppuStack_144;
  uint ***pppuStack_140;
  uint ***pppuStack_13c;
  uint ***pppuStack_138;
  undefined4 *puStack_134;
  int iStack_130;
  int iStack_12c;
  uint ***pppuStack_128;
  uint ***pppuStack_124;
  uint ***pppuStack_120;
  code *pcStack_11c;
  uint ***pppuStack_100;
  uint ***pppuStack_fc;
  int iStack_f8;
  uint ***pppuStack_f4;
  undefined *puStack_f0;
  undefined4 *puStack_e4;
  undefined4 uStack_e0;
  undefined4 uStack_dc;
  uint **ppuStack_d4;
  uint **ppuStack_d0;
  uint **ppuStack_cc;
  uint **ppuStack_c8;
  uint ***pppuStack_c4;
  uint ***pppuStack_c0;
  int iStack_bc;
  int iStack_b8;
  uint ***pppuStack_b4;
  uint ***pppuStack_b0;
  uint ***pppuStack_ac;
  uint ***pppuStack_a8;
  uint ***pppuStack_a4;
  uint ***pppuStack_a0;
  uint ***pppuStack_9c;
  uint ***pppuStack_98;
  undefined *puStack_94;
  int iStack_90;
  int iStack_8c;
  uint ***pppuStack_88;
  uint ***pppuStack_84;
  uint ***pppuStack_80;
  code *pcStack_7c;
  uint ***local_5c;
  undefined4 local_58;
  uint ***local_54;
  uint ***local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  uint ***local_3c;
  int local_38;
  int local_34;
  uint ***local_30;
  uint ***local_2c;
  
  puVar2 = PTR___stack_chk_guard_003a9230;
  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;
  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);
  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);
  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);
  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)
      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||
            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    ppppuVar22 = param_4;
    if ((int)param_4 < 0) {
      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);
    }
    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);
    if (extraout_v1 < (int)unaff_s8) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_02 < 2;
    }
    else {
      bVar1 = (int)param_4 < 0x80;
    }
    ppppuVar22 = (uint ****)0x1;
    if (((bool)(bVar1 ^ 1)) &&
       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,
       extraout_v1_01 < (int)unaff_s8)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      ppppuVar22 = extraout_v1_03;
      unaff_s8 = extraout_v1_03;
    }
  }
  else {
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
        ppppuVar22 = (uint ****)0x1;
        goto LAB_001c6ec4;
      }
    }
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      ppppuVar22 = extraout_v1_00;
    }
    else {
      ppppuVar22 = (uint ****)0x2;
    }
  }
LAB_001c6ec4:
  ppppuVar13 = &local_5c;
  local_40 = param_8;
  local_44 = param_7;
  local_3c = (uint ***)param_9;
  local_48 = param_6;
  local_4c = param_5;
  local_30 = (uint ***)0x1;
  local_5c = (uint ***)param_1;
  local_58 = param_2;
  local_54 = (uint ***)param_3;
  local_50 = (uint ***)param_4;
  local_38 = iVar3;
  local_34 = iVar4;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);
  ppppuVar7 = (uint ****)local_30;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);
  if ((uint ****)local_2c == *(uint *****)puVar2) {
    return ppppuVar7;
  }
  pcVar28 = ChopImage;
  ppppuVar21 = (uint ****)local_2c;
  puVar25 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puVar27 = puVar25 + 0x1e9808;
  puStack_94 = puVar2;
  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);
  pppuStack_9c = (uint ***)param_9;
  pppuStack_a0 = (uint ***)ppppuVar7;
  pppuStack_a4 = (uint ***)*puVar23;
  puStack_f0 = puVar27;
  pppuStack_98 = (uint ***)param_1;
  iStack_90 = iVar3;
  iStack_8c = iVar4;
  pppuStack_88 = (uint ***)param_4;
  pppuStack_84 = (uint ***)param_3;
  pppuStack_80 = (uint ***)unaff_s8;
  pcStack_7c = pcVar28;
  if (ppppuVar21 == (uint ****)0x0) {
LAB_001c777c:
    ppppuVar22 = param_1;
    ppppuVar21 = ppppuVar7;
    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);
    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);
    (**(code **)(puVar27 + -0x72a8))
              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);
  }
  else {
    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {
LAB_001c7758:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,
                 *(int *)(puVar27 + -0x7fc4) + -0x2620);
      ppppuVar7 = ppppuVar21;
      goto LAB_001c777c;
    }
    if (ppppuVar21[0xcd4] != (uint ***)0x0) {
      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);
      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);
      (**(code **)(puVar25 + 0x1e2138))
                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,
                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);
    }
    puVar27 = puStack_f0;
    if (ppppuVar22 == (uint ****)0x0) {
      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;
      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;
      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)
      ;
LAB_001c771c:
      iVar17 = iVar17 + -0x2620;
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);
LAB_001c7738:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,
                 iVar17 + -0x2620);
      param_9 = ppppuVar13;
      param_1 = ppppuVar22;
      goto LAB_001c7758;
    }
    iVar17 = *(int *)(puStack_f0 + -0x7fc4);
    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;
    iVar5 = *(int *)(puStack_f0 + -0x7fc4);
    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;
    pppuVar6 = ppppuVar13[2];
    pppuVar12 = *ppppuVar13;
    if ((int)pppuVar6 + (int)pppuVar12 < 0) {
LAB_001c7544:
      ppppuVar21 = ppppuVar21 + 0xd0;
      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;
      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);
      param_9 = (uint ****)0x0;
      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);
      pppuStack_100 = (uint ***)0x136;
      pppuStack_f4 = (uint ***)ppppuVar21;
      (**(code **)(puStack_f0 + -0x7990))
                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);
    }
    else {
      pppuVar10 = ppppuVar13[3];
      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];
      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))
      goto LAB_001c7544;
      pppuVar14 = ppppuVar21[7];
      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;
      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {
        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);
      }
      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);
      if (iVar5 <= (int)pppuVar14) {
        ppuStack_d0 = (uint **)ppppuVar13[1];
      }
      ppuStack_d4 = (uint **)pppuVar12;
      ppuStack_cc = (uint **)pppuVar6;
      if ((int)pppuVar6 < 0) {
        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);
        ppuStack_cc = (uint **)0x0;
      }
      ppuStack_c8 = (uint **)pppuVar10;
      if ((int)pppuVar10 < 0) {
        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);
        ppuStack_c8 = (uint **)0x0;
      }
      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);
      pppuStack_100 = (uint ***)ppppuVar22;
      param_9 = (uint ****)
                (**(code **)(puStack_f0 + -0x7080))
                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);
      if (param_9 != (uint ****)0x0) {
        uStack_dc = 0;
        uStack_e0 = 0;
        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);
        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))
           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||
               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          pppuVar6 = (uint ***)ppuStack_c8;
          if ((int)ppuStack_c8 < 0) {
            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);
          }
          if (extraout_v1_04 < (int)pppuVar6 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_08 < 2;
          }
          else {
            bVar1 = (int)ppuStack_c8 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            pppuVar6 = (uint ***)ppuStack_c8;
            if ((int)ppuStack_c8 < 0) {
              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);
            }
            iVar5 = (int)pppuVar6 >> 6;
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
            if (extraout_v1_09 < iVar5) {
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              goto LAB_001c75c4;
            }
          }
          else {
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
          }
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            uVar33 = (*pcVar28)(7);
            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            iVar5 = 1;
          }
          else {
LAB_001c727c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
LAB_001c7280:
            uVar33 = (*pcVar28)(7);
            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75c4:
              (*pcVar28)(7);
              iVar5 = extraout_v1_07;
            }
            else {
              iVar5 = 2;
            }
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        puStack_e4 = &uStack_e0;
        param_3 = &pppuStack_c4;
        param_4 = (uint ****)&ppuStack_d4;
        pppuStack_a8 = (uint ***)0x1;
        pppuStack_c4 = (uint ***)ppppuVar21;
        pppuStack_c0 = (uint ***)ppppuVar22;
        iStack_bc = iVar4;
        iStack_b8 = iVar3;
        pppuStack_b4 = (uint ***)param_9;
        pppuStack_b0 = (uint ***)puStack_e4;
        pppuStack_ac = (uint ***)param_4;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);
        unaff_s8 = (uint ****)pppuStack_a8;
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))
           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||
               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);
          iVar5 = iVar17;
          if (iVar17 < 0) {
            iVar5 = iVar17 + 0x3f;
          }
          if (extraout_v1_05 < iVar5 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_11 < 2;
          }
          else {
            bVar1 = iVar17 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);
            if (iVar5 < 0) {
              iVar5 = iVar5 + 0x3f;
            }
            iVar5 = iVar5 >> 6;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;
            goto LAB_001c7344;
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if ((uint)uVar33 < 2) {
              uVar33 = (*pcVar28)(7);
              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              if ((uint)uVar33 < 2) {
                iVar5 = 1;
                goto LAB_001c7344;
              }
            }
          }
          else {
LAB_001c732c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
          }
          uVar33 = (*pcVar28)(7);
          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75a4:
            (*pcVar28)(7);
            iVar5 = extraout_v1_06;
          }
          else {
            iVar5 = 2;
          }
LAB_001c7344:
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        pppuStack_a8 = (uint ***)puStack_e4;
        pppuStack_ac = (uint ***)unaff_s8;
        ppppuVar13 = param_3;
        pppuStack_c4 = (uint ***)ppppuVar21;
        pppuStack_c0 = (uint ***)ppppuVar22;
        iStack_bc = iVar4;
        iStack_b8 = iVar3;
        pppuStack_b4 = (uint ***)param_9;
        pppuStack_b0 = (uint ***)param_4;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);
        ppppuVar22 = (uint ****)pppuStack_ac;
        (**(code **)(puStack_f0 + -0x79bc))(iVar4);
        (**(code **)(puStack_f0 + -0x79bc))(iVar3);
        param_9[0xa8] = ppppuVar21[0xa8];
        if (ppppuVar22 == (uint ****)0x0) {
          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);
        }
      }
    }
    ppppuVar7 = (uint ****)pppuStack_a4;
    puVar27 = puStack_f0;
    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {
      return param_9;
    }
  }
  pcVar26 = *(code **)(puVar27 + -0x784c);
  pcVar29 = ConsolidateCMYKImages;
  (*pcVar26)();
  pcVar28 = pcVar26 + 0x1e9104;
  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);
  ppppuVar15 = (uint ****)&DAT_000001b4;
  ppuStack_144 = (uint **)*piStack_14c;
  pcStack_168 = pcVar28;
  pppuStack_158 = (uint ***)ppppuVar13;
  pppuStack_140 = (uint ***)ppppuVar21;
  pppuStack_13c = (uint ***)param_9;
  pppuStack_138 = (uint ***)ppppuVar22;
  puStack_134 = puVar23;
  iStack_130 = iVar3;
  iStack_12c = iVar4;
  pppuStack_128 = (uint ***)param_4;
  pppuStack_124 = (uint ***)param_3;
  pppuStack_120 = (uint ***)unaff_s8;
  pcStack_11c = pcVar29;
  if (ppppuVar7 == (uint ****)0x0) {
LAB_001c7c28:
    ppppuVar7 = param_3;
    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);
    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);
    (**(code **)(pcVar28 + -0x72a8))();
  }
  else {
    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {
      (**(code **)(pcVar26 + 0x1e1e5c))
                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,
                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);
LAB_001c7bdc:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c00:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c24:
      ppppuVar15 = (uint ****)0x1c0;
      param_3 = ppppuVar7;
      goto LAB_001c7c28;
    }
    if (ppppuVar7[0xcd4] != (uint ***)0x0) {
      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);
      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);
      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);
      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);
      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);
    }
    pcVar28 = pcStack_168;
    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;
    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;
    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();
    iStack_150 = 0;
    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);
    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);
    if (iStack_150 < iVar5) {
      do {
        pcVar28 = pcStack_168;
        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;
        ppppuVar15 = (uint ****)0x0;
        ppppuVar13 = (uint ****)0x0;
        pppuStack_170 = pppuStack_158;
        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);
        ppppuVar16 = (uint ****)pppuStack_158;
        if (param_4 == (uint ****)0x0) break;
        ppppuVar13 = (uint ****)0x1;
        ppppuVar15 = (uint ****)pppuStack_158;
        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);
        ppppuVar21 = ppppuVar16;
        if (iVar5 == 0) break;
        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);
        ppppuVar21 = (uint ****)0x0;
        ppppuVar15 = ppppuVar16;
        do {
          param_9 = (uint ****)pppuStack_158;
          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);
          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);
          if (0 < (int)ppppuVar7[7]) {
            ppppuVar22 = (uint ****)0x0;
            while( true ) {
              param_9 = (uint ****)pppuStack_158;
              pppuStack_170 = (uint ***)0x1;
              pppuStack_16c = pppuStack_158;
              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);
              pppuStack_170 = (uint ***)0x1;
              pppuStack_16c = (uint ***)param_9;
              ppppuVar15 = ppppuVar22;
              puVar23 = (undefined4 *)
                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);
              if (iVar3 == 0) break;
              pcVar28 = *(code **)(pcStack_168 + -0x79bc);
              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;
              pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              if (0 < (int)ppppuVar7[6]) {
                param_9 = (uint ****)0x2;
                iVar5 = 0;
                do {
                  while( true ) {
                    iVar4 = iVar5;
                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);
                    fVar31 = (float)(dVar32 - dVar30);
                    if (ppppuVar21 != (uint ****)0x2) break;
                    pppuVar6 = param_4[0xb0];
                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;
                    puVar23[(int)param_4[0xb4][8]] = fVar31;
                    puVar23 = puVar23 + (int)pppuVar6;
                    iVar5 = iVar4 + 1;
                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;
                  }
                  if (ppppuVar21 == (uint ****)0x3) {
                    if (param_4[0xb4][10] != (uint **)0x0) {
                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;
                    }
                  }
                  else if (ppppuVar21 == (uint ****)0x1) {
                    puVar23[(int)param_4[0xb4][5]] = fVar31;
                  }
                  else {
                    puVar23[(int)param_4[0xb4][2]] = fVar31;
                  }
                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;
                  puVar23 = puVar23 + (int)param_4[0xb0];
                  iVar5 = iVar4 + 1;
                } while (iVar4 + 1 < (int)ppppuVar7[6]);
LAB_001c7a88:
                iVar4 = iVar4 + 1;
                pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              }
              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);
              if ((iVar5 == 0) ||
                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),
                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;
            }
          }
          pcVar28 = *(code **)(pcStack_168 + -0x79bc);
LAB_001c7ab8:
          (*pcVar28)(uStack_15c);
          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);
          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);
        } while ((ppppuVar7 != (uint ****)0x0) &&
                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),
                ppppuVar21 != (uint ****)&DAT_00000004));
        iStack_150 = iStack_150 + 4;
        ppppuVar13 = param_4;
        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);
        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);
      } while (iStack_150 < iVar5);
    }
    pppuVar6 = (uint ***)ppuStack_144;
    pcVar28 = pcStack_168;
    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {
      return (uint ****)pppuStack_148;
    }
  }
  pcVar28 = *(code **)(pcVar28 + -0x784c);
  pcVar26 = CropImage;
  (*pcVar28)();
  piVar24 = *(int **)(pcVar28 + 0x1e15dc);
  iStack_1ac = *piVar24;
  pppuStack_1a4 = (uint ***)ppppuVar21;
  pppuStack_1a0 = (uint ***)param_9;
  pppuStack_19c = (uint ***)ppppuVar22;
  puStack_198 = puVar23;
  iStack_194 = iVar3;
  iStack_190 = iVar4;
  pppuStack_18c = (uint ***)param_4;
  pppuStack_188 = (uint ***)ppppuVar7;
  pcStack_184 = pcVar26;
  if (pppuVar6 == (uint ***)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return ppppuVar22;
  }
  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return ppppuVar22;
  }
  if (pppuVar6[0xcd4] != (uint **)0x0) {
    (**(code **)(pcVar28 + 0x1e158c))
              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,
               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);
  }
  iVar4 = *(int *)(pcVar28 + 0x1e0c98);
  if (ppppuVar13 == (uint ****)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);
    return ppppuVar22;
  }
  if (ppppuVar15 == (uint ****)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);
    return ppppuVar22;
  }
  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);
  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;
  ppppuVar7 = (uint ****)pppuVar6[0x8a];
  pppuVar12 = (uint ***)pppuVar6[0x8b];
  ppuVar11 = pppuVar6[0x8c];
  pppuVar10 = (uint ***)pppuVar6[0x8d];
  if (ppppuVar7 == (uint ****)0x0) {
    ppppuVar7 = (uint ****)pppuVar6[6];
LAB_001c7cf8:
    pppuVar12 = (uint ***)pppuVar6[7];
  }
  else if (pppuVar12 == (uint ***)0x0) {
    ppppuVar7 = (uint ****)pppuVar6[6];
    goto LAB_001c7cf8;
  }
  ppuStack_1d4 = (uint **)ppppuVar13[2];
  pppuVar18 = ppppuVar13[3];
  pppuStack_1dc = *ppppuVar13;
  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {
    pppuStack_1dc = (uint ***)ppppuVar7;
  }
  ppuStack_1d8 = (uint **)ppppuVar13[1];
  if (ppppuVar13[1] == (uint ***)0x0) {
    ppuStack_1d8 = (uint **)pppuVar12;
  }
  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {
    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);
    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;
    ppuVar19 = pppuVar6[6];
    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);
    if (((int)ppuVar19 < (int)pppuVar14) ||
       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;
    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {
      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);
      ppuStack_1d4 = (uint **)0x0;
    }
    else {
      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));
      ppuStack_1d4 = (uint **)pppuVar14;
      if ((int)pppuVar14 < 0) {
        ppuStack_1d4 = (uint **)0x0;
      }
    }
    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {
      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);
      ppuStack_1d0 = (uint **)0x0;
      pppuVar18 = pppuVar10;
    }
    else {
      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));
      if ((int)ppuStack_1d0 < 0) {
        ppuStack_1d0 = (uint **)0x0;
        pppuVar18 = pppuVar10;
      }
    }
    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {
      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);
    }
    ppppuVar22 = (uint ****)*ppppuVar13;
    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {
      pppuStack_1dc = (uint ***)ppppuVar22;
    }
    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {
      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);
    }
    pppuVar10 = ppppuVar13[1];
    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);
    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {
      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))
      goto LAB_001c7f40;
LAB_001c8110:
      iVar4 = 0x285;
      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);
      (**(code **)(pcVar28 + 0x1e12cc))
                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,
                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,
                 pppuVar6 + 0xd0);
      goto LAB_001c815c;
    }
    ppuStack_1d8 = (uint **)pppuVar10;
    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;
    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);
LAB_001c7f40:
    iVar4 = 1;
    ppppuVar22 = (uint ****)pppuStack_1dc;
    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);
    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;
    pppuVar10 = (uint ***)pppuVar6[0x8b];
    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];
    ppppuVar13[0x8b] = pppuVar10;
    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||
       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {
      ppppuVar13[0x8a] = (uint ***)ppppuVar7;
      ppppuVar13[0x8b] = pppuVar12;
    }
    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);
    ppppuVar13[0x8c] = pppuVar14;
    uStack_1e4 = 0;
    ppppuVar13[0x8d] = pppuVar18;
    uStack_1e8 = 0;
    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);
    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);
    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);
    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&
       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||
        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {
      (**(code **)(pcVar28 + 0x1e14e8))(7);
      pppuVar10 = ppppuVar13[7];
      pppuVar12 = pppuVar10;
      if ((int)pppuVar10 < 0) {
        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);
      }
      if (extraout_v1_13 < (int)pppuVar12 >> 6) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        bVar1 = extraout_v1_15 < 2;
      }
      else {
        bVar1 = (int)pppuVar10 < 0x80;
      }
      iVar5 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        pppuVar12 = ppppuVar13[7];
        if ((int)pppuVar12 < 0) {
          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);
        }
        iVar5 = (int)pppuVar12 >> 6;
        if (extraout_v1_14 < iVar5) {
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          goto LAB_001c8184;
        }
      }
    }
    else {
      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);
      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
        if ((uint)uVar33 < 2) {
          uVar33 = (*pcVar26)(7);
          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          if ((uint)uVar33 < 2) {
            iVar5 = 1;
            goto LAB_001c8038;
          }
        }
      }
      else {
LAB_001c801c:
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
      }
      uVar33 = (*pcVar26)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {
LAB_001c8184:
        (*pcVar26)(7);
        iVar5 = extraout_v1_12;
      }
      else {
        iVar5 = 2;
      }
    }
LAB_001c8038:
    puStack_1b8 = &uStack_1e8;
    iVar4 = 0;
    pppuStack_1b4 = (uint ***)&pppuStack_1dc;
    ppppuVar22 = (uint ****)&ppuStack_1cc;
    iStack_1b0 = 1;
    ppuStack_1cc = (uint **)pppuVar6;
    pppuStack_1c8 = (uint ***)ppppuVar15;
    uStack_1c4 = uVar9;
    uStack_1c0 = uVar8;
    pppuStack_1bc = (uint ***)ppppuVar13;
    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);
    iVar5 = iStack_1b0;
    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);
    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);
    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];
    if (iVar5 == 0) {
      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);
    }
  }
  else {
LAB_001c7d60:
    ppuStack_1d0 = (uint **)pppuVar18;
    (**(code **)(pcVar28 + 0x1e12cc))
              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,
               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,
               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,
               pppuVar6 + 0xd0);
    iVar4 = 1;
    ppppuVar22 = (uint ****)0x1;
    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);
    if (ppppuVar13 == (uint ****)0x0) {
LAB_001c815c:
      ppppuVar13 = (uint ****)0x0;
    }
    else {
      pcVar26 = *(code **)(pcVar28 + 0x1e123c);
      ppppuVar13[0x35] = (uint ***)0x0;
      ppppuVar13[0x34] = (uint ***)0x0;
      ppppuVar13[0x24] = (uint ***)0x4;
      (*pcVar26)(ppppuVar13,ppppuVar15);
      ppppuVar13[0x8a] = (uint ***)ppppuVar7;
      ppppuVar13[0x8b] = pppuVar12;
      ppppuVar13[0x8c] = (uint ***)0xffffffff;
      ppppuVar13[0x8d] = (uint ***)0xffffffff;
      ppppuVar22 = ppppuVar15;
      if (ppppuVar13[0x9a] == (uint ***)0x2) {
        ppppuVar13[0x9a] = (uint ***)0x1;
      }
    }
  }
  if (iStack_1ac == *piVar24) {
    return ppppuVar13;
  }
  (**(code **)(pcVar28 + 0x1e1410))();
LAB_001c8358:
  ppppuVar22 = (uint ****)
               (**(code **)(pcVar28 + 0x1e19b4))
                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,
                          iVar4 + -0x2668);
  return ppppuVar22;
}


lui gp,0x1f
addiu gp,gp,-0x6524
addu gp,gp,t9
addiu sp,sp,-0x78
lw t9,-0x715c(gp)
sw s3,0x5c(sp)
sw s1,0x54(sp)
lw s3,-0x7680(gp)
lw s1,0x98(sp)
sw ra,0x74(sp)
sw gp,0x10(sp)
sw s7,0x6c(sp)
or s7,a2,zero
sw s6,0x68(sp)
or s6,a3,zero
sw s5,0x64(sp)
sw s4,0x60(sp)
sw s2,0x58(sp)
or s2,a0,zero
sw s0,0x50(sp)
or a0,a1,zero
sw s8,0x70(sp)
or s0,a1,zero
lw v0,0x0(s3)
or a1,s1,zero
sw v0,0x4c(sp)
jalr t9
_nop
or a0,s2,zero
lw gp,0x10(sp)
or a1,s1,zero
lw t9,-0x79dc(gp)
jalr t9
_or s4,v0,zero
or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x73fc(gp)
jalr t9
_or s5,v0,zero
li v1,0x4
beq v0,v1,0x001c6f84
_lw gp,0x10(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s0,zero
li v1,0x3
beq v0,v1,0x001c6f84
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x001c6ff8
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x001c7028
_lw gp,0x10(sp)
li a2,0x2
lw v0,0x94(sp)
or a3,zero,zero
lw a0,-0x7f10(gp)
addiu a1,sp,0x1c
lw t9,-0x7718(gp)
sw v0,0x38(sp)
lw v0,0x90(sp)
addiu a0,a0,0x5be0
sw s0,0x20(sp)
sw s5,0x44(sp)
sw v0,0x34(sp)
lw v0,0x8c(sp)
sw s4,0x40(sp)
sw s1,0x3c(sp)
sw v0,0x30(sp)
lw v0,0x88(sp)
sw s6,0x28(sp)
sw s7,0x24(sp)
sw v0,0x2c(sp)
li v0,0x1
sw s2,0x1c(sp)
jalr t9
_sw v0,0x48(sp)
or a0,s5,zero
lw gp,0x10(sp)
lw t9,-0x79bc(gp)
jalr t9
_lw s0,0x48(sp)
lw gp,0x10(sp)
lw t9,-0x79bc(gp)
jalr t9
_or a0,s4,zero
or v0,s0,zero
lw a0,0x4c(sp)
lw v1,0x0(s3)
bne a0,v1,0x001c709c
_lw gp,0x10(sp)
lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x4
beq v0,v1,0x001c6fb4
_lw gp,0x10(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x3
bne v0,v1,0x001c6e94
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
or a2,s6,zero
bgez s6,0x001c6fd0
_lw gp,0x10(sp)
addiu a2,s6,0x3f
sra s8,a2,0x6
slt v1,v1,s8
bne v1,zero,0x001c7068
_lw t9,-0x7774(gp)
slti v1,s6,0x80
xori v1,v1,0x1
bne v1,zero,0x001c7048
_li a2,0x1
b 0x001c6ec4
_lw v0,0x94(sp)
sltiu v1,v1,0x2
beq v1,zero,0x001c6eac
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
bne v0,zero,0x001c6ea8
_lw gp,0x10(sp)
sltiu v1,v1,0x2
beq v1,zero,0x001c6eac
_lw t9,-0x7774(gp)
b 0x001c6ec0
_li a2,0x1
sltiu v1,v1,0x2
beq v1,zero,0x001c6ebc
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw gp,0x10(sp)
b 0x001c6ec0
_or a2,v1,zero
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
slt v1,v1,s8
bne v1,zero,0x001c7080
_lw gp,0x10(sp)
b 0x001c6ec0
_or a2,s8,zero
jalr t9
_li a0,0x7
slti v1,v1,0x2
lw gp,0x10(sp)
b 0x001c6fe8
_xori v1,v1,0x1
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
or s8,v1,zero
lw gp,0x10(sp)
b 0x001c6ec0
_or a2,s8,zero
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}\n\n" (function_definition "uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" type_identifier (pointer_declarator "**** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "*** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "* FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (function_declarator "FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" identifier (parameter_list "(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" ( (parameter_declaration "uint ****param_1" type_identifier (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint ****param_3" type_identifier (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))) , (parameter_declaration "uint ****param_4" type_identifier (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "uint ****param_9" type_identifier (pointer_declarator "****param_9" * (pointer_declarator "***param_9" * (pointer_declarator "**param_9" * (pointer_declarator "*param_9" * identifier))))) ))))))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "uint ****ppppuVar7;" type_identifier (pointer_declarator "****ppppuVar7" * (pointer_declarator "***ppppuVar7" * (pointer_declarator "**ppppuVar7" * (pointer_declarator "*ppppuVar7" * identifier)))) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "uint ****extraout_v1_00;" type_identifier (pointer_declarator "****extraout_v1_00" * (pointer_declarator "***extraout_v1_00" * (pointer_declarator "**extraout_v1_00" * (pointer_declarator "*extraout_v1_00" * identifier)))) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "uint ****extraout_v1_03;" type_identifier (pointer_declarator "****extraout_v1_03" * (pointer_declarator "***extraout_v1_03" * (pointer_declarator "**extraout_v1_03" * (pointer_declarator "*extraout_v1_03" * identifier)))) ;) (declaration "uint ***pppuVar10;" type_identifier (pointer_declarator "***pppuVar10" * (pointer_declarator "**pppuVar10" * (pointer_declarator "*pppuVar10" * identifier))) ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "int extraout_v1_13;" primitive_type identifier ;) (declaration "int extraout_v1_14;" primitive_type identifier ;) (declaration "int extraout_v1_15;" primitive_type identifier ;) (declaration "uint **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "uint ***pppuVar12;" type_identifier (pointer_declarator "***pppuVar12" * (pointer_declarator "**pppuVar12" * (pointer_declarator "*pppuVar12" * identifier))) ;) (declaration "uint ****ppppuVar13;" type_identifier (pointer_declarator "****ppppuVar13" * (pointer_declarator "***ppppuVar13" * (pointer_declarator "**ppppuVar13" * (pointer_declarator "*ppppuVar13" * identifier)))) ;) (declaration "uint ***pppuVar14;" type_identifier (pointer_declarator "***pppuVar14" * (pointer_declarator "**pppuVar14" * (pointer_declarator "*pppuVar14" * identifier))) ;) (declaration "uint ****ppppuVar15;" type_identifier (pointer_declarator "****ppppuVar15" * (pointer_declarator "***ppppuVar15" * (pointer_declarator "**ppppuVar15" * (pointer_declarator "*ppppuVar15" * identifier)))) ;) (declaration "uint ****ppppuVar16;" type_identifier (pointer_declarator "****ppppuVar16" * (pointer_declarator "***ppppuVar16" * (pointer_declarator "**ppppuVar16" * (pointer_declarator "*ppppuVar16" * identifier)))) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint ***pppuVar18;" type_identifier (pointer_declarator "***pppuVar18" * (pointer_declarator "**pppuVar18" * (pointer_declarator "*pppuVar18" * identifier))) ;) (declaration "uint **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "uint **ppuVar20;" type_identifier (pointer_declarator "**ppuVar20" * (pointer_declarator "*ppuVar20" * identifier)) ;) (declaration "uint ****ppppuVar21;" type_identifier (pointer_declarator "****ppppuVar21" * (pointer_declarator "***ppppuVar21" * (pointer_declarator "**ppppuVar21" * (pointer_declarator "*ppppuVar21" * identifier)))) ;) (declaration "uint ****ppppuVar22;" type_identifier (pointer_declarator "****ppppuVar22" * (pointer_declarator "***ppppuVar22" * (pointer_declarator "**ppppuVar22" * (pointer_declarator "*ppppuVar22" * identifier)))) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint ****unaff_s8;" type_identifier (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "float fVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "undefined4 uStack_1e4;" type_identifier identifier ;) (declaration "uint ***pppuStack_1dc;" type_identifier (pointer_declarator "***pppuStack_1dc" * (pointer_declarator "**pppuStack_1dc" * (pointer_declarator "*pppuStack_1dc" * identifier))) ;) (declaration "uint **ppuStack_1d8;" type_identifier (pointer_declarator "**ppuStack_1d8" * (pointer_declarator "*ppuStack_1d8" * identifier)) ;) (declaration "uint **ppuStack_1d4;" type_identifier (pointer_declarator "**ppuStack_1d4" * (pointer_declarator "*ppuStack_1d4" * identifier)) ;) (declaration "uint **ppuStack_1d0;" type_identifier (pointer_declarator "**ppuStack_1d0" * (pointer_declarator "*ppuStack_1d0" * identifier)) ;) (declaration "uint **ppuStack_1cc;" type_identifier (pointer_declarator "**ppuStack_1cc" * (pointer_declarator "*ppuStack_1cc" * identifier)) ;) (declaration "uint ***pppuStack_1c8;" type_identifier (pointer_declarator "***pppuStack_1c8" * (pointer_declarator "**pppuStack_1c8" * (pointer_declarator "*pppuStack_1c8" * identifier))) ;) (declaration "undefined4 uStack_1c4;" type_identifier identifier ;) (declaration "undefined4 uStack_1c0;" type_identifier identifier ;) (declaration "uint ***pppuStack_1bc;" type_identifier (pointer_declarator "***pppuStack_1bc" * (pointer_declarator "**pppuStack_1bc" * (pointer_declarator "*pppuStack_1bc" * identifier))) ;) (declaration "undefined4 *puStack_1b8;" type_identifier (pointer_declarator "*puStack_1b8" * identifier) ;) (declaration "uint ***pppuStack_1b4;" type_identifier (pointer_declarator "***pppuStack_1b4" * (pointer_declarator "**pppuStack_1b4" * (pointer_declarator "*pppuStack_1b4" * identifier))) ;) (declaration "int iStack_1b0;" primitive_type identifier ;) (declaration "int iStack_1ac;" primitive_type identifier ;) (declaration "uint ***pppuStack_1a4;" type_identifier (pointer_declarator "***pppuStack_1a4" * (pointer_declarator "**pppuStack_1a4" * (pointer_declarator "*pppuStack_1a4" * identifier))) ;) (declaration "uint ***pppuStack_1a0;" type_identifier (pointer_declarator "***pppuStack_1a0" * (pointer_declarator "**pppuStack_1a0" * (pointer_declarator "*pppuStack_1a0" * identifier))) ;) (declaration "uint ***pppuStack_19c;" type_identifier (pointer_declarator "***pppuStack_19c" * (pointer_declarator "**pppuStack_19c" * (pointer_declarator "*pppuStack_19c" * identifier))) ;) (declaration "undefined4 *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "int iStack_194;" primitive_type identifier ;) (declaration "int iStack_190;" primitive_type identifier ;) (declaration "uint ***pppuStack_18c;" type_identifier (pointer_declarator "***pppuStack_18c" * (pointer_declarator "**pppuStack_18c" * (pointer_declarator "*pppuStack_18c" * identifier))) ;) (declaration "uint ***pppuStack_188;" type_identifier (pointer_declarator "***pppuStack_188" * (pointer_declarator "**pppuStack_188" * (pointer_declarator "*pppuStack_188" * identifier))) ;) (declaration "code *pcStack_184;" type_identifier (pointer_declarator "*pcStack_184" * identifier) ;) (declaration "uint ***pppuStack_170;" type_identifier (pointer_declarator "***pppuStack_170" * (pointer_declarator "**pppuStack_170" * (pointer_declarator "*pppuStack_170" * identifier))) ;) (declaration "uint ***pppuStack_16c;" type_identifier (pointer_declarator "***pppuStack_16c" * (pointer_declarator "**pppuStack_16c" * (pointer_declarator "*pppuStack_16c" * identifier))) ;) (declaration "code *pcStack_168;" type_identifier (pointer_declarator "*pcStack_168" * identifier) ;) (declaration "undefined4 uStack_15c;" type_identifier identifier ;) (declaration "uint ***pppuStack_158;" type_identifier (pointer_declarator "***pppuStack_158" * (pointer_declarator "**pppuStack_158" * (pointer_declarator "*pppuStack_158" * identifier))) ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "int *piStack_14c;" primitive_type (pointer_declarator "*piStack_14c" * identifier) ;) (declaration "uint ***pppuStack_148;" type_identifier (pointer_declarator "***pppuStack_148" * (pointer_declarator "**pppuStack_148" * (pointer_declarator "*pppuStack_148" * identifier))) ;) (declaration "uint **ppuStack_144;" type_identifier (pointer_declarator "**ppuStack_144" * (pointer_declarator "*ppuStack_144" * identifier)) ;) (declaration "uint ***pppuStack_140;" type_identifier (pointer_declarator "***pppuStack_140" * (pointer_declarator "**pppuStack_140" * (pointer_declarator "*pppuStack_140" * identifier))) ;) (declaration "uint ***pppuStack_13c;" type_identifier (pointer_declarator "***pppuStack_13c" * (pointer_declarator "**pppuStack_13c" * (pointer_declarator "*pppuStack_13c" * identifier))) ;) (declaration "uint ***pppuStack_138;" type_identifier (pointer_declarator "***pppuStack_138" * (pointer_declarator "**pppuStack_138" * (pointer_declarator "*pppuStack_138" * identifier))) ;) (declaration "undefined4 *puStack_134;" type_identifier (pointer_declarator "*puStack_134" * identifier) ;) (declaration "int iStack_130;" primitive_type identifier ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "uint ***pppuStack_128;" type_identifier (pointer_declarator "***pppuStack_128" * (pointer_declarator "**pppuStack_128" * (pointer_declarator "*pppuStack_128" * identifier))) ;) (declaration "uint ***pppuStack_124;" type_identifier (pointer_declarator "***pppuStack_124" * (pointer_declarator "**pppuStack_124" * (pointer_declarator "*pppuStack_124" * identifier))) ;) (declaration "uint ***pppuStack_120;" type_identifier (pointer_declarator "***pppuStack_120" * (pointer_declarator "**pppuStack_120" * (pointer_declarator "*pppuStack_120" * identifier))) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "uint ***pppuStack_100;" type_identifier (pointer_declarator "***pppuStack_100" * (pointer_declarator "**pppuStack_100" * (pointer_declarator "*pppuStack_100" * identifier))) ;) (declaration "uint ***pppuStack_fc;" type_identifier (pointer_declarator "***pppuStack_fc" * (pointer_declarator "**pppuStack_fc" * (pointer_declarator "*pppuStack_fc" * identifier))) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "uint ***pppuStack_f4;" type_identifier (pointer_declarator "***pppuStack_f4" * (pointer_declarator "**pppuStack_f4" * (pointer_declarator "*pppuStack_f4" * identifier))) ;) (declaration "undefined *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_e0;" type_identifier identifier ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "uint **ppuStack_d4;" type_identifier (pointer_declarator "**ppuStack_d4" * (pointer_declarator "*ppuStack_d4" * identifier)) ;) (declaration "uint **ppuStack_d0;" type_identifier (pointer_declarator "**ppuStack_d0" * (pointer_declarator "*ppuStack_d0" * identifier)) ;) (declaration "uint **ppuStack_cc;" type_identifier (pointer_declarator "**ppuStack_cc" * (pointer_declarator "*ppuStack_cc" * identifier)) ;) (declaration "uint **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "uint ***pppuStack_c4;" type_identifier (pointer_declarator "***pppuStack_c4" * (pointer_declarator "**pppuStack_c4" * (pointer_declarator "*pppuStack_c4" * identifier))) ;) (declaration "uint ***pppuStack_c0;" type_identifier (pointer_declarator "***pppuStack_c0" * (pointer_declarator "**pppuStack_c0" * (pointer_declarator "*pppuStack_c0" * identifier))) ;) (declaration "int iStack_bc;" primitive_type identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "uint ***pppuStack_b4;" type_identifier (pointer_declarator "***pppuStack_b4" * (pointer_declarator "**pppuStack_b4" * (pointer_declarator "*pppuStack_b4" * identifier))) ;) (declaration "uint ***pppuStack_b0;" type_identifier (pointer_declarator "***pppuStack_b0" * (pointer_declarator "**pppuStack_b0" * (pointer_declarator "*pppuStack_b0" * identifier))) ;) (declaration "uint ***pppuStack_ac;" type_identifier (pointer_declarator "***pppuStack_ac" * (pointer_declarator "**pppuStack_ac" * (pointer_declarator "*pppuStack_ac" * identifier))) ;) (declaration "uint ***pppuStack_a8;" type_identifier (pointer_declarator "***pppuStack_a8" * (pointer_declarator "**pppuStack_a8" * (pointer_declarator "*pppuStack_a8" * identifier))) ;) (declaration "uint ***pppuStack_a4;" type_identifier (pointer_declarator "***pppuStack_a4" * (pointer_declarator "**pppuStack_a4" * (pointer_declarator "*pppuStack_a4" * identifier))) ;) (declaration "uint ***pppuStack_a0;" type_identifier (pointer_declarator "***pppuStack_a0" * (pointer_declarator "**pppuStack_a0" * (pointer_declarator "*pppuStack_a0" * identifier))) ;) (declaration "uint ***pppuStack_9c;" type_identifier (pointer_declarator "***pppuStack_9c" * (pointer_declarator "**pppuStack_9c" * (pointer_declarator "*pppuStack_9c" * identifier))) ;) (declaration "uint ***pppuStack_98;" type_identifier (pointer_declarator "***pppuStack_98" * (pointer_declarator "**pppuStack_98" * (pointer_declarator "*pppuStack_98" * identifier))) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "int iStack_90;" primitive_type identifier ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "uint ***pppuStack_88;" type_identifier (pointer_declarator "***pppuStack_88" * (pointer_declarator "**pppuStack_88" * (pointer_declarator "*pppuStack_88" * identifier))) ;) (declaration "uint ***pppuStack_84;" type_identifier (pointer_declarator "***pppuStack_84" * (pointer_declarator "**pppuStack_84" * (pointer_declarator "*pppuStack_84" * identifier))) ;) (declaration "uint ***pppuStack_80;" type_identifier (pointer_declarator "***pppuStack_80" * (pointer_declarator "**pppuStack_80" * (pointer_declarator "*pppuStack_80" * identifier))) ;) (declaration "code *pcStack_7c;" type_identifier (pointer_declarator "*pcStack_7c" * identifier) ;) (declaration "uint ***local_5c;" type_identifier (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier))) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "uint ***local_54;" type_identifier (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))) ;) (declaration "uint ***local_50;" type_identifier (pointer_declarator "***local_50" * (pointer_declarator "**local_50" * (pointer_declarator "*local_50" * identifier))) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "uint ***local_3c;" type_identifier (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier))) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint ***local_30;" type_identifier (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))) ;) (declaration "uint ***local_2c;" type_identifier (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar2 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(uint ****)PTR___stack_chk_guard_003a9230" * (cast_expression "(uint ****)PTR___stack_chk_guard_003a9230" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_9)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);" (assignment_expression "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" identifier = (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_9)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      )" ( (binary_expression "(iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = param_4;" (assignment_expression "ppppuVar22 = param_4" identifier = identifier) ;) (if_statement "if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" if (parenthesized_expression "((int)param_4 < 0)" ( (binary_expression "(int)param_4 < 0" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" { (expression_statement "ppppuVar22 = (uint ****)((int)param_4 + 0x3f);" (assignment_expression "ppppuVar22 = (uint ****)((int)param_4 + 0x3f)" identifier = (cast_expression "(uint ****)((int)param_4 + 0x3f)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)param_4 + 0x3f)" ( (binary_expression "(int)param_4 + 0x3f" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);" (assignment_expression "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6)" identifier = (cast_expression "(uint ****)((int)ppppuVar22 >> 6)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar22 >> 6)" ( (binary_expression "(int)ppppuVar22 >> 6" (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s8)" ( (binary_expression "extraout_v1 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)param_4 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)param_4 < 0x80;\n    }" { (expression_statement "bVar1 = (int)param_4 < 0x80;" (assignment_expression "bVar1 = (int)param_4 < 0x80" identifier = (binary_expression "(int)param_4 < 0x80" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" if (parenthesized_expression "(((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8))" ( (binary_expression "((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) , (comma_expression "ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (assignment_expression "ppppuVar22 = unaff_s8" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = extraout_v1_03;" (assignment_expression "ppppuVar22 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s8 = extraout_v1_03;" (assignment_expression "unaff_s8 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" else (compound_statement "{\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" { (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (goto_statement "goto LAB_001c6ec4;" goto statement_identifier ;) })) })) (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = extraout_v1_00;" (assignment_expression "ppppuVar22 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      ppppuVar22 = (uint ****)0x2;\n    }" else (compound_statement "{\n      ppppuVar22 = (uint ****)0x2;\n    }" { (expression_statement "ppppuVar22 = (uint ****)0x2;" (assignment_expression "ppppuVar22 = (uint ****)0x2" identifier = (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_001c6ec4:\n  ppppuVar13 = &local_5c;" statement_identifier : (expression_statement "ppppuVar13 = &local_5c;" (assignment_expression "ppppuVar13 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;)) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" identifier = identifier) ;) (expression_statement "local_44 = param_7;" (assignment_expression "local_44 = param_7" identifier = identifier) ;) (expression_statement "local_3c = (uint ***)param_9;" (assignment_expression "local_3c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_48 = param_6;" (assignment_expression "local_48 = param_6" identifier = identifier) ;) (expression_statement "local_4c = param_5;" (assignment_expression "local_4c = param_5" identifier = identifier) ;) (expression_statement "local_30 = (uint ***)0x1;" (assignment_expression "local_30 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_5c = (uint ***)param_1;" (assignment_expression "local_5c = (uint ***)param_1" identifier = (cast_expression "(uint ***)param_1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (expression_statement "local_54 = (uint ***)param_3;" (assignment_expression "local_54 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_50 = (uint ***)param_4;" (assignment_expression "local_50 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_38 = iVar3;" (assignment_expression "local_38 = iVar3" identifier = identifier) ;) (expression_statement "local_34 = iVar4;" (assignment_expression "local_34 = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" ( (binary_expression "PTR_LAB_003a89a0 + 0x5be0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "ppppuVar7 = (uint ****)local_30;" (assignment_expression "ppppuVar7 = (uint ****)local_30" identifier = (cast_expression "(uint ****)local_30" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }" if (parenthesized_expression "((uint ****)local_2c == *(uint *****)puVar2)" ( (binary_expression "(uint ****)local_2c == *(uint *****)puVar2" (cast_expression "(uint ****)local_2c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (pointer_expression "*(uint *****)puVar2" * (cast_expression "(uint *****)puVar2" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) )) (compound_statement "{\n    return ppppuVar7;\n  }" { (return_statement "return ppppuVar7;" return identifier ;) })) (expression_statement "pcVar28 = ChopImage;" (assignment_expression "pcVar28 = ChopImage" identifier = identifier) ;) (expression_statement "ppppuVar21 = (uint ****)local_2c;" (assignment_expression "ppppuVar21 = (uint ****)local_2c" identifier = (cast_expression "(uint ****)local_2c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puVar25 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar25 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar27 = puVar25 + 0x1e9808;" (assignment_expression "puVar27 = puVar25 + 0x1e9808" identifier = (binary_expression "puVar25 + 0x1e9808" identifier + number_literal)) ;) (expression_statement "puStack_94 = puVar2;" (assignment_expression "puStack_94 = puVar2" identifier = identifier) ;) (expression_statement "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);" (assignment_expression "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + 0x1e2188)" * (cast_expression "(undefined4 **)(puVar25 + 0x1e2188)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2188)" ( (binary_expression "puVar25 + 0x1e2188" identifier + number_literal) ))))) ;) (expression_statement "pppuStack_9c = (uint ***)param_9;" (assignment_expression "pppuStack_9c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_a0 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_a0 = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_a4 = (uint ***)*puVar23;" (assignment_expression "pppuStack_a4 = (uint ***)*puVar23" identifier = (cast_expression "(uint ***)*puVar23" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*puVar23" * identifier))) ;) (expression_statement "puStack_f0 = puVar27;" (assignment_expression "puStack_f0 = puVar27" identifier = identifier) ;) (expression_statement "pppuStack_98 = (uint ***)param_1;" (assignment_expression "pppuStack_98 = (uint ***)param_1" identifier = (cast_expression "(uint ***)param_1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_90 = iVar3;" (assignment_expression "iStack_90 = iVar3" identifier = identifier) ;) (expression_statement "iStack_8c = iVar4;" (assignment_expression "iStack_8c = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_88 = (uint ***)param_4;" (assignment_expression "pppuStack_88 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_84 = (uint ***)param_3;" (assignment_expression "pppuStack_84 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_80 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_80 = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_7c = pcVar28;" (assignment_expression "pcStack_7c = pcVar28" identifier = identifier) ;) (if_statement "if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x0)" ( (binary_expression "ppppuVar21 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }" { (labeled_statement "LAB_001c777c:\n    ppppuVar22 = param_1;" statement_identifier : (expression_statement "ppppuVar22 = param_1;" (assignment_expression "ppppuVar22 = param_1" identifier = identifier) ;)) (expression_statement "ppppuVar21 = ppppuVar7;" (assignment_expression "ppppuVar21 = ppppuVar7" identifier = identifier) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);" (assignment_expression "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" identifier = (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" else (compound_statement "{\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" { (if_statement "if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" if (parenthesized_expression "(ppppuVar21[0xcdb] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar21[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar21[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" { (labeled_statement "LAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "ppppuVar7 = ppppuVar21;" (assignment_expression "ppppuVar7 = ppppuVar21" identifier = identifier) ;) (goto_statement "goto LAB_001c777c;" goto statement_identifier ;) })) (if_statement "if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" if (parenthesized_expression "(ppppuVar21[0xcd4] != (uint ***)0x0)" ( (binary_expression "ppppuVar21[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar21[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" { (expression_statement "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);" (assignment_expression "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0)" identifier = (cast_expression "(uint ***)(ppppuVar21 + 0xd0)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppuVar21 + 0xd0)" ( (binary_expression "ppppuVar21 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);" (assignment_expression "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" identifier = (cast_expression "(uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (binary_expression "*(int *)(puVar25 + 0x1e183c) + -0x62ac" (pointer_expression "*(int *)(puVar25 + 0x1e183c)" * (cast_expression "(int *)(puVar25 + 0x1e183c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e183c)" ( (binary_expression "puVar25 + 0x1e183c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);" (call_expression "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" (parenthesized_expression "(**(code **)(puVar25 + 0x1e2138))" ( (pointer_expression "**(code **)(puVar25 + 0x1e2138)" * (pointer_expression "*(code **)(puVar25 + 0x1e2138)" * (cast_expression "(code **)(puVar25 + 0x1e2138)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2138)" ( (binary_expression "puVar25 + 0x1e2138" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" ( number_literal , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x288c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x262c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" if (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" ( (binary_expression "ppppuVar22 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;" (call_expression "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x72a8))" ( (pointer_expression "**(code **)(puStack_f0 + -0x72a8)" * (pointer_expression "*(code **)(puStack_f0 + -0x72a8)" * (cast_expression "(code **)(puStack_f0 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x72a8)" ( (binary_expression "puStack_f0 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) , identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001c771c:\n      iVar17 = iVar17 + -0x2620;" statement_identifier : (expression_statement "iVar17 = iVar17 + -0x2620;" (assignment_expression "iVar17 = iVar17 + -0x2620" identifier = (binary_expression "iVar17 + -0x2620" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2874" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar5 + -0x288c" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(puVar27 + -0x7fd0)" * (cast_expression "(int *)(puVar27 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fd0)" ( (binary_expression "puVar27 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar17 + -0x2620" identifier + number_literal) ))) ;)) (expression_statement "param_9 = ppppuVar13;" (assignment_expression "param_9 = ppppuVar13" identifier = identifier) ;) (expression_statement "param_1 = ppppuVar22;" (assignment_expression "param_1 = ppppuVar22" identifier = identifier) ;) (goto_statement "goto LAB_001c7758;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;" if (parenthesized_expression "(ppppuVar22[7] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar22[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar22[7]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c7738;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c771c;" goto statement_identifier ;)) (expression_statement "pppuVar6 = ppppuVar13[2];" (assignment_expression "pppuVar6 = ppppuVar13[2]" identifier = (subscript_expression "ppppuVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppuVar12 = *ppppuVar13;" (assignment_expression "pppuVar12 = *ppppuVar13" identifier = (pointer_expression "*ppppuVar13" * identifier)) ;) (if_statement "if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" if (parenthesized_expression "((int)pppuVar6 + (int)pppuVar12 < 0)" ( (binary_expression "(int)pppuVar6 + (int)pppuVar12 < 0" (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }" { (labeled_statement "LAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;" statement_identifier : (expression_statement "ppppuVar21 = ppppuVar21 + 0xd0;" (assignment_expression "ppppuVar21 = ppppuVar21 + 0xd0" identifier = (binary_expression "ppppuVar21 + 0xd0" identifier + number_literal)) ;)) (expression_statement "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_9 = (uint ****)0x0;" (assignment_expression "param_9 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);" (assignment_expression "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" identifier = (cast_expression "(uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x16bc" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuStack_100 = (uint ***)0x136;" (assignment_expression "pppuStack_100 = (uint ***)0x136" identifier = (cast_expression "(uint ***)0x136" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_f4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_f4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);" (call_expression "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7990))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7990)" * (pointer_expression "*(code **)(puStack_f0 + -0x7990)" * (cast_expression "(code **)(puStack_f0 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7990)" ( (binary_expression "puStack_f0 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" ( identifier , identifier , (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x262c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" else (compound_statement "{\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" { (expression_statement "pppuVar10 = ppppuVar13[3];" (assignment_expression "pppuVar10 = ppppuVar13[3]" identifier = (subscript_expression "ppppuVar13[3]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];" (assignment_expression "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1]" identifier = (binary_expression "(int)pppuVar10 + (int)ppppuVar13[1]" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppuVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;" if (parenthesized_expression "((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))" ( (binary_expression "(iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) || (parenthesized_expression "(pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" ( (comma_expression "pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6" (assignment_expression "pppuVar18 = ppppuVar21[6]" identifier = (subscript_expression "ppppuVar21[6]" identifier [ number_literal ])) , (binary_expression "(int)pppuVar18 < (int)pppuVar6" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (expression_statement "pppuVar14 = ppppuVar21[7];" (assignment_expression "pppuVar14 = ppppuVar21[7]" identifier = (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;" if (parenthesized_expression "((int)pppuVar14 < (int)pppuVar10)" ( (binary_expression "(int)pppuVar14 < (int)pppuVar10" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (if_statement "if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" if (parenthesized_expression "((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12)" ( (binary_expression "(int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6)" identifier = (cast_expression "(uint ***)((int)pppuVar18 - (int)pppuVar6)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar18 - (int)pppuVar6)" ( (binary_expression "(int)pppuVar18 - (int)pppuVar6" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)pppuVar14 - (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar14 - (int)pppuVar10)" ( (binary_expression "(int)pppuVar14 - (int)pppuVar10" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" if (parenthesized_expression "(iVar5 <= (int)pppuVar14)" ( (binary_expression "iVar5 <= (int)pppuVar14" identifier <= (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" { (expression_statement "ppuStack_d0 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_d0 = (uint **)ppppuVar13[1]" identifier = (cast_expression "(uint **)ppppuVar13[1]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]))) ;) })) (expression_statement "ppuStack_d4 = (uint **)pppuVar12;" (assignment_expression "ppuStack_d4 = (uint **)pppuVar12" identifier = (cast_expression "(uint **)pppuVar12" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_cc = (uint **)pppuVar6" identifier = (cast_expression "(uint **)pppuVar6" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar6 < 0)" ( (binary_expression "(int)pppuVar6 < 0" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" { (expression_statement "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);" (assignment_expression "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6)" identifier = (cast_expression "(uint **)((int)pppuVar12 + (int)pppuVar6)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar12 + (int)pppuVar6)" ( (binary_expression "(int)pppuVar12 + (int)pppuVar6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_cc = (uint **)0x0;" (assignment_expression "ppuStack_cc = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "ppuStack_c8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_c8 = (uint **)pppuVar10" identifier = (cast_expression "(uint **)pppuVar10" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar10 < 0)" ( (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" { (expression_statement "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)ppuStack_d0 + (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_d0 + (int)pppuVar10)" ( (binary_expression "(int)ppuStack_d0 + (int)pppuVar10" (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_c8 = (uint **)0x0;" (assignment_expression "ppuStack_c8 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);" (assignment_expression "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4)" identifier = (cast_expression "(uint ****)((int)pppuVar18 - (int)ppuStack_d4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppuVar18 - (int)ppuStack_d4)" ( (binary_expression "(int)pppuVar18 - (int)ppuStack_d4" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppuStack_100 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_100 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);" (assignment_expression "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" identifier = (cast_expression "(uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7080))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7080)" * (pointer_expression "*(code **)(puStack_f0 + -0x7080)" * (cast_expression "(code **)(puStack_f0 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7080)" ( (binary_expression "puStack_f0 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" ( identifier , identifier , (binary_expression "(int)pppuVar14 - (int)ppuStack_d0" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal ))))) ;) (if_statement "if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" if (parenthesized_expression "(param_9 != (uint ****)0x0)" ( (binary_expression "param_9 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" { (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "uStack_e0 = 0;" (assignment_expression "uStack_e0 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);" (assignment_expression "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x715c))" ( (pointer_expression "**(code **)(puStack_f0 + -0x715c)" * (pointer_expression "*(code **)(puStack_f0 + -0x715c)" * (cast_expression "(code **)(puStack_f0 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x715c)" ( (binary_expression "puStack_f0 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21,ppppuVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);" (assignment_expression "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79dc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79dc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79dc)" * (cast_expression "(code **)(puStack_f0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79dc)" ( (binary_expression "puStack_f0 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(param_9,ppppuVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" identifier = (cast_expression "(uint ***)ppuStack_c8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" if (parenthesized_expression "((int)ppuStack_c8 < 0)" ( (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" { (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" identifier = (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" ( (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_04 < (int)pppuVar6 >> 6)" ( (binary_expression "extraout_v1_04 < (int)pppuVar6 >> 6" identifier < (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_08 < 2;" (assignment_expression "bVar1 = extraout_v1_08 < 2" identifier = (binary_expression "extraout_v1_08 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" { (expression_statement "bVar1 = (int)ppuStack_c8 < 0x80;" (assignment_expression "bVar1 = (int)ppuStack_c8 < 0x80" identifier = (binary_expression "(int)ppuStack_c8 < 0x80" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" identifier = (cast_expression "(uint ***)ppuStack_c8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" if (parenthesized_expression "((int)ppuStack_c8 < 0)" ( (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" { (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" identifier = (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" ( (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar5 = (int)pppuVar6 >> 6;" (assignment_expression "iVar5 = (int)pppuVar6 >> 6" identifier = (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" if (parenthesized_expression "(extraout_v1_09 < iVar5)" ( (binary_expression "extraout_v1_09 < iVar5" identifier < identifier) )) (compound_statement "{\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c75c4;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" else (compound_statement "{\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c727c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" else (compound_statement "{\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" { (labeled_statement "LAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c7280:\n            uVar33 = (*pcVar28)(7);" statement_identifier : (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }" { (labeled_statement "LAB_001c75c4:\n              (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_07;" (assignment_expression "iVar5 = extraout_v1_07" identifier = identifier) ;) }) (else_clause "else {\n              iVar5 = 2;\n            }" else (compound_statement "{\n              iVar5 = 2;\n            }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) (expression_statement "puStack_e4 = &uStack_e0;" (assignment_expression "puStack_e4 = &uStack_e0" identifier = (pointer_expression "&uStack_e0" & identifier)) ;) (expression_statement "param_3 = &pppuStack_c4;" (assignment_expression "param_3 = &pppuStack_c4" identifier = (pointer_expression "&pppuStack_c4" & identifier)) ;) (expression_statement "param_4 = (uint ****)&ppuStack_d4;" (assignment_expression "param_4 = (uint ****)&ppuStack_d4" identifier = (cast_expression "(uint ****)&ppuStack_d4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppuStack_d4" & identifier))) ;) (expression_statement "pppuStack_a8 = (uint ***)0x1;" (assignment_expression "pppuStack_a8 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" identifier = identifier) ;) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" identifier = identifier) ;) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_b0 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_b0 = (uint ***)puStack_e4" identifier = (cast_expression "(uint ***)puStack_e4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_ac = (uint ***)param_4;" (assignment_expression "pppuStack_ac = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4ed8,param_3,iVar5,0)" ( (binary_expression "iVar17 + 0x4ed8" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "unaff_s8 = (uint ****)pppuStack_a8;" (assignment_expression "unaff_s8 = (uint ****)pppuStack_a8" identifier = (cast_expression "(uint ****)pppuStack_a8" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" identifier = (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) - (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" ( (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = iVar17;" (assignment_expression "iVar5 = iVar17" identifier = identifier) ;) (if_statement "if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar5 = iVar17 + 0x3f;\n          }" { (expression_statement "iVar5 = iVar17 + 0x3f;" (assignment_expression "iVar5 = iVar17 + 0x3f" identifier = (binary_expression "iVar17 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar5 >> 6)" ( (binary_expression "extraout_v1_05 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar17 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar17 < 0x80;\n          }" { (expression_statement "bVar1 = iVar17 < 0x80;" (assignment_expression "bVar1 = iVar17 < 0x80" identifier = (binary_expression "iVar17 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" identifier = (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) - (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" ( (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar5 = iVar5 + 0x3f;\n            }" { (expression_statement "iVar5 = iVar5 + 0x3f;" (assignment_expression "iVar5 = iVar5 + 0x3f" identifier = (binary_expression "iVar5 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" identifier = (binary_expression "iVar5 >> 6" identifier >> number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_10 < iVar5) goto LAB_001c75a4;" if (parenthesized_expression "(extraout_v1_10 < iVar5)" ( (binary_expression "extraout_v1_10 < iVar5" identifier < identifier) )) (goto_statement "goto LAB_001c75a4;" goto statement_identifier ;)) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" { (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c732c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" else (compound_statement "{\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" { (labeled_statement "LAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }" { (labeled_statement "LAB_001c75a4:\n            (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_06;" (assignment_expression "iVar5 = extraout_v1_06" identifier = identifier) ;) }) (else_clause "else {\n            iVar5 = 2;\n          }" else (compound_statement "{\n            iVar5 = 2;\n          }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);" statement_identifier : (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;)) }))) (expression_statement "pppuStack_a8 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_a8 = (uint ***)puStack_e4" identifier = (cast_expression "(uint ***)puStack_e4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_ac = (uint ***)unaff_s8;" (assignment_expression "pppuStack_ac = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13 = param_3;" (assignment_expression "ppppuVar13 = param_3" identifier = identifier) ;) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" identifier = identifier) ;) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" identifier = identifier) ;) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_b0 = (uint ***)param_4;" (assignment_expression "pppuStack_b0 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4bf0,param_3,iVar5,0)" ( (binary_expression "iVar17 + 0x4bf0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "ppppuVar22 = (uint ****)pppuStack_ac;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_ac" identifier = (cast_expression "(uint ****)pppuStack_ac" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar4);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar3);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar3)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "param_9[0xa8] = ppppuVar21[0xa8];" (assignment_expression "param_9[0xa8] = ppppuVar21[0xa8]" (subscript_expression "param_9[0xa8]" identifier [ number_literal ]) = (subscript_expression "ppppuVar21[0xa8]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" if (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" ( (binary_expression "ppppuVar22 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" { (expression_statement "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);" (assignment_expression "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" identifier = (cast_expression "(uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_f0 + -0x7964))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7964))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7964)" * (pointer_expression "*(code **)(puStack_f0 + -0x7964)" * (cast_expression "(code **)(puStack_f0 + -0x7964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7964)" ( (binary_expression "puStack_f0 + -0x7964" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier ))))) ;) })) })) }))) (expression_statement "ppppuVar7 = (uint ****)pppuStack_a4;" (assignment_expression "ppppuVar7 = (uint ****)pppuStack_a4" identifier = (cast_expression "(uint ****)pppuStack_a4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }" if (parenthesized_expression "((uint ****)pppuStack_a4 == (uint ****)*puVar23)" ( (binary_expression "(uint ****)pppuStack_a4 == (uint ****)*puVar23" (cast_expression "(uint ****)pppuStack_a4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)*puVar23" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar23" * identifier))) )) (compound_statement "{\n      return param_9;\n    }" { (return_statement "return param_9;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(puVar27 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(puVar27 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar27 + -0x784c)" * (cast_expression "(code **)(puVar27 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x784c)" ( (binary_expression "puVar27 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = ConsolidateCMYKImages;" (assignment_expression "pcVar29 = ConsolidateCMYKImages" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar28 = pcVar26 + 0x1e9104;" (assignment_expression "pcVar28 = pcVar26 + 0x1e9104" identifier = (binary_expression "pcVar26 + 0x1e9104" identifier + number_literal)) ;) (expression_statement "piStack_14c = *(int **)(pcVar26 + 0x1e1a84);" (assignment_expression "piStack_14c = *(int **)(pcVar26 + 0x1e1a84)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x1e1a84)" * (cast_expression "(int **)(pcVar26 + 0x1e1a84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a84)" ( (binary_expression "pcVar26 + 0x1e1a84" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar15 = (uint ****)&DAT_000001b4;" (assignment_expression "ppppuVar15 = (uint ****)&DAT_000001b4" identifier = (cast_expression "(uint ****)&DAT_000001b4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_000001b4" & identifier))) ;) (expression_statement "ppuStack_144 = (uint **)*piStack_14c;" (assignment_expression "ppuStack_144 = (uint **)*piStack_14c" identifier = (cast_expression "(uint **)*piStack_14c" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piStack_14c" * identifier))) ;) (expression_statement "pcStack_168 = pcVar28;" (assignment_expression "pcStack_168 = pcVar28" identifier = identifier) ;) (expression_statement "pppuStack_158 = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_158 = (uint ***)ppppuVar13" identifier = (cast_expression "(uint ***)ppppuVar13" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_140 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_140 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_13c = (uint ***)param_9;" (assignment_expression "pppuStack_13c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_138 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_138 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "puStack_134 = puVar23;" (assignment_expression "puStack_134 = puVar23" identifier = identifier) ;) (expression_statement "iStack_130 = iVar3;" (assignment_expression "iStack_130 = iVar3" identifier = identifier) ;) (expression_statement "iStack_12c = iVar4;" (assignment_expression "iStack_12c = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_128 = (uint ***)param_4;" (assignment_expression "pppuStack_128 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_124 = (uint ***)param_3;" (assignment_expression "pppuStack_124 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_120 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_120 = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar29;" (assignment_expression "pcStack_11c = pcVar29" identifier = identifier) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }" { (labeled_statement "LAB_001c7c28:\n    ppppuVar7 = param_3;" statement_identifier : (expression_statement "ppppuVar7 = param_3;" (assignment_expression "ppppuVar7 = param_3" identifier = identifier) ;)) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);" (assignment_expression "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" identifier = (cast_expression "(uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1e48" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + -0x72a8))();" (call_expression "(**(code **)(pcVar28 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" else (compound_statement "{\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" { (if_statement "if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" if (parenthesized_expression "(ppppuVar7[0xcdb] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar7[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar7[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);" (call_expression "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1e5c))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1e5c)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1e5c)" * (cast_expression "(code **)(pcVar26 + 0x1e1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1e5c)" ( (binary_expression "pcVar26 + 0x1e1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1134) + 0x1e64" (pointer_expression "*(int *)(pcVar26 + 0x1e1134)" * (cast_expression "(int *)(pcVar26 + 0x1e1134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1134)" ( (binary_expression "pcVar26 + 0x1e1134" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x2644" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;" statement_identifier : (expression_statement "ppppuVar15 = (uint ****)0x1c0;" (assignment_expression "ppppuVar15 = (uint ****)0x1c0" identifier = (cast_expression "(uint ****)0x1c0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "param_3 = ppppuVar7;" (assignment_expression "param_3 = ppppuVar7" identifier = identifier) ;) (goto_statement "goto LAB_001c7c28;" goto statement_identifier ;) })) (if_statement "if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" if (parenthesized_expression "(ppppuVar7[0xcd4] != (uint ***)0x0)" ( (binary_expression "ppppuVar7[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar7[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" { (expression_statement "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);" (assignment_expression "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0)" identifier = (cast_expression "(uint ***)(ppppuVar7 + 0xd0)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppuVar7 + 0xd0)" ( (binary_expression "ppppuVar7 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);" (assignment_expression "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x265c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);" (assignment_expression "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" identifier = (cast_expression "(uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1138) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x1e1138)" * (cast_expression "(int *)(pcVar26 + 0x1e1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1138)" ( (binary_expression "pcVar26 + 0x1e1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);" (call_expression "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1a34))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1a34)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1a34)" * (cast_expression "(code **)(pcVar26 + 0x1e1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a34)" ( (binary_expression "pcVar26 + 0x1e1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,ppppuVar13,ppppuVar15,0x1b7)" ( number_literal , identifier , identifier , number_literal ))) ;) })) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;" if (parenthesized_expression "((uint ****)pppuStack_158 == (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_158 == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c7bdc;" goto statement_identifier ;)) (if_statement "if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;" if (parenthesized_expression "((uint ***)pppuStack_158[7] != (uint ***)0xabacadab)" ( (binary_expression "(uint ***)pppuStack_158[7] != (uint ***)0xabacadab" (cast_expression "(uint ***)pppuStack_158[7]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuStack_158[7]" identifier [ number_literal ])) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c7c00;" goto statement_identifier ;)) (expression_statement "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();" (assignment_expression "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" identifier = (cast_expression "(uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(pcStack_168 + -0x7a2c))()" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a2c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a2c)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a2c)" * (cast_expression "(code **)(pcStack_168 + -0x7a2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a2c)" ( (binary_expression "pcStack_168 + -0x7a2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_168 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_168 + -0x7fd0)" * (cast_expression "(int *)(pcStack_168 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_168 + -0x7fd0)" ( (binary_expression "pcStack_168 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier )))) ;) (if_statement "if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" if (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) (compound_statement "{\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" { (do_statement "do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);" do (compound_statement "{\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      }" { (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c7c24;" goto statement_identifier ;)) (expression_statement "ppppuVar15 = (uint ****)0x0;" (assignment_expression "ppppuVar15 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppuStack_170 = pppuStack_158;" (assignment_expression "pppuStack_170 = pppuStack_158" identifier = identifier) ;) (expression_statement "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);" (assignment_expression "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" identifier = (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7080))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7080)" * (pointer_expression "*(code **)(pcStack_168 + -0x7080)" * (cast_expression "(code **)(pcStack_168 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7080)" ( (binary_expression "pcStack_168 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,0,0,1)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "ppppuVar16 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar16 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (param_4 == (uint ****)0x0) break;" if (parenthesized_expression "(param_4 == (uint ****)0x0)" ( (binary_expression "param_4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "ppppuVar13 = (uint ****)0x1;" (assignment_expression "ppppuVar13 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar15 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar15 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x708c))(param_4)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x708c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x708c)" * (pointer_expression "*(code **)(pcStack_168 + -0x708c)" * (cast_expression "(code **)(pcStack_168 + -0x708c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x708c)" ( (binary_expression "pcStack_168 + -0x708c" identifier + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "ppppuVar21 = ppppuVar16;" (assignment_expression "ppppuVar21 = ppppuVar16" identifier = identifier) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(pcStack_168 + -0x7b70))(param_4,2);" (call_expression "(**(code **)(pcStack_168 + -0x7b70))(param_4,2)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_168 + -0x7b70)" * (cast_expression "(code **)(pcStack_168 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7b70)" ( (binary_expression "pcStack_168 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(param_4,2)" ( identifier , number_literal ))) ;) (expression_statement "ppppuVar21 = (uint ****)0x0;" (assignment_expression "ppppuVar21 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar15 = ppppuVar16;" (assignment_expression "ppppuVar15 = ppppuVar16" identifier = identifier) ;) (do_statement "do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));" do (compound_statement "{\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        }" { (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);" (assignment_expression "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x715c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x715c)" * (pointer_expression "*(code **)(pcStack_168 + -0x715c)" * (cast_expression "(code **)(pcStack_168 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x715c)" ( (binary_expression "pcStack_168 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,pppuStack_158)" ( identifier , identifier )))) ;) (expression_statement "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);" (assignment_expression "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79dc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79dc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79dc)" * (cast_expression "(code **)(pcStack_168 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79dc)" ( (binary_expression "pcStack_168 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(param_4,param_9)" ( identifier , identifier )))) ;) (if_statement "if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" if (parenthesized_expression "(0 < (int)ppppuVar7[7])" ( (binary_expression "0 < (int)ppppuVar7[7]" number_literal < (cast_expression "(int)ppppuVar7[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[7]" identifier [ number_literal ]))) )) (compound_statement "{\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" { (expression_statement "ppppuVar22 = (uint ****)0x0;" (assignment_expression "ppppuVar22 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (while_statement "while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" { (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_16c = pppuStack_158;" (assignment_expression "pppuStack_16c = pppuStack_158" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);" (assignment_expression "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7254))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7254)" * (pointer_expression "*(code **)(pcStack_168 + -0x7254)" * (cast_expression "(code **)(pcStack_168 + -0x7254)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7254)" ( (binary_expression "pcStack_168 + -0x7254" identifier + number_literal) ))))) )) (argument_list "(uStack_154,0,ppppuVar22,ppppuVar7[6])" ( identifier , number_literal , identifier , (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]) )))) ;) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_16c = (uint ***)param_9;" (assignment_expression "pppuStack_16c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar15 = ppppuVar22;" (assignment_expression "ppppuVar15 = ppppuVar22" identifier = identifier) ;) (expression_statement "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);" (assignment_expression "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" identifier = (cast_expression "(undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7c60))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7c60)" * (pointer_expression "*(code **)(pcStack_168 + -0x7c60)" * (cast_expression "(code **)(pcStack_168 + -0x7c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7c60)" ( (binary_expression "pcStack_168 + -0x7c60" identifier + number_literal) ))))) )) (argument_list "(uStack_15c,0,ppppuVar22,param_4[6])" ( identifier , number_literal , identifier , (subscript_expression "param_4[6]" identifier [ number_literal ]) ))))) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (if_statement "if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;" if (parenthesized_expression "(puVar23 == (undefined4 *)0x0)" ( (binary_expression "puVar23 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c7ab8;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" if (parenthesized_expression "(0 < (int)ppppuVar7[6])" ( (binary_expression "0 < (int)ppppuVar7[6]" number_literal < (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" { (expression_statement "param_9 = (uint ****)0x2;" (assignment_expression "param_9 = (uint ****)0x2" identifier = (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);" do (compound_statement "{\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                }" { (while_statement "while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" { (expression_statement "iVar4 = iVar5;" (assignment_expression "iVar4 = iVar5" identifier = identifier) ;) (expression_statement "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);" (assignment_expression "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" identifier = (cast_expression "(double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a58))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a58)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a58)" * (cast_expression "(code **)(pcStack_168 + -0x7a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a58)" ( (binary_expression "pcStack_168 + -0x7a58" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,iVar3)" ( identifier , identifier ))))) ;) (expression_statement "fVar31 = (float)(dVar32 - dVar30);" (assignment_expression "fVar31 = (float)(dVar32 - dVar30)" identifier = (cast_expression "(float)(dVar32 - dVar30)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(dVar32 - dVar30)" ( (binary_expression "dVar32 - dVar30" identifier - identifier) )))) ;) (if_statement "if (ppppuVar21 != (uint ****)0x2) break;" if (parenthesized_expression "(ppppuVar21 != (uint ****)0x2)" ( (binary_expression "ppppuVar21 != (uint ****)0x2" identifier != (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pppuVar6 = param_4[0xb0];" (assignment_expression "pppuVar6 = param_4[0xb0]" identifier = (subscript_expression "param_4[0xb0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" identifier = (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" identifier + (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[0xb0]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "puVar23[(int)param_4[0xb4][8]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][8]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][8]]" identifier [ (cast_expression "(int)param_4[0xb4][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][8]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) (expression_statement "puVar23 = puVar23 + (int)pppuVar6;" (assignment_expression "puVar23 = puVar23 + (int)pppuVar6" identifier = (binary_expression "puVar23 + (int)pppuVar6" identifier + (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;" if (parenthesized_expression "((int)ppppuVar7[6] <= iVar4 + 1)" ( (binary_expression "(int)ppppuVar7[6] <= iVar4 + 1" (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ])) <= (binary_expression "iVar4 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_001c7a88;" goto statement_identifier ;)) })) (if_statement "if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x3)" ( (binary_expression "ppppuVar21 == (uint ****)0x3" identifier == (cast_expression "(uint ****)0x3" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }" { (if_statement "if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" if (parenthesized_expression "(param_4[0xb4][10] != (uint **)0x0)" ( (binary_expression "param_4[0xb4][10] != (uint **)0x0" (subscript_expression "param_4[0xb4][10]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ]) != (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" { (expression_statement "puVar23[(int)param_4[0xb4][0xb]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][0xb]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][0xb]]" identifier [ (cast_expression "(int)param_4[0xb4][0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][0xb]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) })) }) (else_clause "else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" else (if_statement "if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x1)" ( (binary_expression "ppppuVar21 == (uint ****)0x1" identifier == (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }" { (expression_statement "puVar23[(int)param_4[0xb4][5]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][5]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][5]]" identifier [ (cast_expression "(int)param_4[0xb4][5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][5]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) }) (else_clause "else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" else (compound_statement "{\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" { (expression_statement "puVar23[(int)param_4[0xb4][2]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][2]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][2]]" identifier [ (cast_expression "(int)param_4[0xb4][2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][2]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) }))))) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" identifier = (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" identifier + (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[0xb0]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "puVar23 = puVar23 + (int)param_4[0xb0];" (assignment_expression "puVar23 = puVar23 + (int)param_4[0xb0]" identifier = (binary_expression "puVar23 + (int)param_4[0xb0]" identifier + (cast_expression "(int)param_4[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb0]" identifier [ number_literal ])))) ;) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 + 1 < (int)ppppuVar7[6])" ( (binary_expression "iVar4 + 1 < (int)ppppuVar7[6]" (binary_expression "iVar4 + 1" identifier + number_literal) < (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]))) )) ;) (labeled_statement "LAB_001c7a88:\n                iVar4 = iVar4 + 1;" statement_identifier : (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) })) (expression_statement "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);" (assignment_expression "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158)" identifier = (call_expression "(*pcVar28)(uStack_15c,pppuStack_158)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c,pppuStack_158)" ( identifier , identifier )))) ;) (if_statement "if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;" if (parenthesized_expression "((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22))" ( (binary_expression "(iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" ( (comma_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22" (assignment_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1)" identifier = (cast_expression "(uint ****)((int)ppppuVar22 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar22 + 1)" ( (binary_expression "(int)ppppuVar22 + 1" (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "(int)ppppuVar7[7] <= (int)ppppuVar22" (cast_expression "(int)ppppuVar7[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[7]" identifier [ number_literal ])) <= (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7ab8:\n          (*pcVar28)(uStack_15c);" statement_identifier : (expression_statement "(*pcVar28)(uStack_15c);" (call_expression "(*pcVar28)(uStack_15c)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_168 + -0x79bc))(uStack_154);" (call_expression "(**(code **)(pcStack_168 + -0x79bc))(uStack_154)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uStack_154)" ( identifier ))) ;) (expression_statement "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);" (assignment_expression "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" identifier = (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7440)" * (pointer_expression "*(code **)(pcStack_168 + -0x7440)" * (cast_expression "(code **)(pcStack_168 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7440)" ( (binary_expression "pcStack_168 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier ))))) ;) }) while (parenthesized_expression "((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004))" ( (binary_expression "(ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" (parenthesized_expression "(ppppuVar7 != (uint ****)0x0)" ( (binary_expression "ppppuVar7 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" ( (comma_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004" (assignment_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1)" identifier = (cast_expression "(uint ****)((int)ppppuVar21 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar21 + 1)" ( (binary_expression "(int)ppppuVar21 + 1" (cast_expression "(int)ppppuVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "ppppuVar21 != (uint ****)&DAT_00000004" identifier != (cast_expression "(uint ****)&DAT_00000004" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000004" & identifier)))) ))) )) ;) (expression_statement "iStack_150 = iStack_150 + 4;" (assignment_expression "iStack_150 = iStack_150 + 4" identifier = (binary_expression "iStack_150 + 4" identifier + number_literal)) ;) (expression_statement "ppppuVar13 = param_4;" (assignment_expression "ppppuVar13 = param_4" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);" (call_expression "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7030))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7030)" * (pointer_expression "*(code **)(pcStack_168 + -0x7030)" * (cast_expression "(code **)(pcStack_168 + -0x7030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7030)" ( (binary_expression "pcStack_168 + -0x7030" identifier + number_literal) ))))) )) (argument_list "(&pppuStack_148)" ( (pointer_expression "&pppuStack_148" & identifier) ))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier )))) ;) }) while (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) ;) })) (expression_statement "pppuVar6 = (uint ***)ppuStack_144;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_144" identifier = (cast_expression "(uint ***)ppuStack_144" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }" if (parenthesized_expression "((uint ***)ppuStack_144 == (uint ***)*piStack_14c)" ( (binary_expression "(uint ***)ppuStack_144 == (uint ***)*piStack_14c" (cast_expression "(uint ***)ppuStack_144" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) == (cast_expression "(uint ***)*piStack_14c" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piStack_14c" * identifier))) )) (compound_statement "{\n      return (uint ****)pppuStack_148;\n    }" { (return_statement "return (uint ****)pppuStack_148;" return (cast_expression "(uint ****)pppuStack_148" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) ;) })) }))) (expression_statement "pcVar28 = *(code **)(pcVar28 + -0x784c);" (assignment_expression "pcVar28 = *(code **)(pcVar28 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar28 + -0x784c)" * (cast_expression "(code **)(pcVar28 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x784c)" ( (binary_expression "pcVar28 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = CropImage;" (assignment_expression "pcVar26 = CropImage" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar24 = *(int **)(pcVar28 + 0x1e15dc);" (assignment_expression "piVar24 = *(int **)(pcVar28 + 0x1e15dc)" identifier = (pointer_expression "*(int **)(pcVar28 + 0x1e15dc)" * (cast_expression "(int **)(pcVar28 + 0x1e15dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e15dc)" ( (binary_expression "pcVar28 + 0x1e15dc" identifier + number_literal) ))))) ;) (expression_statement "iStack_1ac = *piVar24;" (assignment_expression "iStack_1ac = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pppuStack_1a4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_1a4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_1a0 = (uint ***)param_9;" (assignment_expression "pppuStack_1a0 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_19c = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_19c = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "puStack_198 = puVar23;" (assignment_expression "puStack_198 = puVar23" identifier = identifier) ;) (expression_statement "iStack_194 = iVar3;" (assignment_expression "iStack_194 = iVar3" identifier = identifier) ;) (expression_statement "iStack_190 = iVar4;" (assignment_expression "iStack_190 = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_18c = (uint ***)param_4;" (assignment_expression "pppuStack_18c = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_188 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_188 = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_184 = pcVar26;" (assignment_expression "pcStack_184 = pcVar26" identifier = identifier) ;) (if_statement "if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(pppuVar6 == (uint ***)0x0)" ( (binary_expression "pppuVar6 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x37b0" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(pppuVar6[0xcdb] != (uint **)0xabacadab)" ( (binary_expression "pppuVar6[0xcdb] != (uint **)0xabacadab" (subscript_expression "pppuVar6[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint **)0xabacadab" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x3784" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" if (parenthesized_expression "(pppuVar6[0xcd4] != (uint **)0x0)" ( (binary_expression "pppuVar6[0xcd4] != (uint **)0x0" (subscript_expression "pppuVar6[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" { (expression_statement "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e158c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e158c)" * (pointer_expression "*(code **)(pcVar28 + 0x1e158c)" * (cast_expression "(code **)(pcVar28 + 0x1e158c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e158c)" ( (binary_expression "pcVar28 + 0x1e158c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c90) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c90)" * (cast_expression "(int *)(pcVar28 + 0x1e0c90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c90)" ( (binary_expression "pcVar28 + 0x1e0c90" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *(int *)(pcVar28 + 0x1e0c98);" (assignment_expression "iVar4 = *(int *)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2850" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(ppppuVar15 == (uint ****)0x0)" ( (binary_expression "ppppuVar15 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (expression_statement "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);" (assignment_expression "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(uint *****)(pcVar28 + 0x1e0c98)" * (cast_expression "(uint *****)(pcVar28 + 0x1e0c98)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;" if (parenthesized_expression "(ppppuVar15[7] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar15[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar15[7]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c8358;" goto statement_identifier ;)) (expression_statement "ppppuVar7 = (uint ****)pppuVar6[0x8a];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[0x8a]" identifier = (cast_expression "(uint ****)pppuVar6[0x8a]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar12 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[0x8b]" identifier = (cast_expression "(uint ***)pppuVar6[0x8b]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar11 = pppuVar6[0x8c];" (assignment_expression "ppuVar11 = pppuVar6[0x8c]" identifier = (subscript_expression "pppuVar6[0x8c]" identifier [ number_literal ])) ;) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8d];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8d]" identifier = (cast_expression "(uint ***)pppuVar6[0x8d]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8d]" identifier [ number_literal ]))) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }" { (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" identifier = (cast_expression "(uint ****)pppuVar6[6]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[6]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];" statement_identifier : (expression_statement "pppuVar12 = (uint ***)pppuVar6[7];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[7]" identifier = (cast_expression "(uint ***)pppuVar6[7]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[7]" identifier [ number_literal ]))) ;)) }) (else_clause "else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" else (if_statement "if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(pppuVar12 == (uint ***)0x0)" ( (binary_expression "pppuVar12 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" { (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" identifier = (cast_expression "(uint ****)pppuVar6[6]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[6]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_001c7cf8;" goto statement_identifier ;) })))) (expression_statement "ppuStack_1d4 = (uint **)ppppuVar13[2];" (assignment_expression "ppuStack_1d4 = (uint **)ppppuVar13[2]" identifier = (cast_expression "(uint **)ppppuVar13[2]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar18 = ppppuVar13[3];" (assignment_expression "pppuVar18 = ppppuVar13[3]" identifier = (subscript_expression "ppppuVar13[3]" identifier [ number_literal ])) ;) (expression_statement "pppuStack_1dc = *ppppuVar13;" (assignment_expression "pppuStack_1dc = *ppppuVar13" identifier = (pointer_expression "*ppppuVar13" * identifier)) ;) (if_statement "if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" if (parenthesized_expression "((uint ****)*ppppuVar13 == (uint ****)0x0)" ( (binary_expression "(uint ****)*ppppuVar13 == (uint ****)0x0" (cast_expression "(uint ****)*ppppuVar13" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*ppppuVar13" * identifier)) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" { (expression_statement "pppuStack_1dc = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) })) (expression_statement "ppuStack_1d8 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_1d8 = (uint **)ppppuVar13[1]" identifier = (cast_expression "(uint **)ppppuVar13[1]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]))) ;) (if_statement "if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" if (parenthesized_expression "(ppppuVar13[1] == (uint ***)0x0)" ( (binary_expression "ppppuVar13[1] == (uint ***)0x0" (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]) == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" { (expression_statement "ppuStack_1d8 = (uint **)pppuVar12;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar12" identifier = (cast_expression "(uint **)pppuVar12" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (if_statement "if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" if (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc)" ( (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc" (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }" { (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" identifier = (cast_expression "(uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_1d4 - (int)ppuVar11)" ( (binary_expression "(int)ppuStack_1d4 - (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;" if (parenthesized_expression "((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18)" ( (binary_expression "(int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (expression_statement "ppuVar19 = pppuVar6[6];" (assignment_expression "ppuVar19 = pppuVar6[6]" identifier = (subscript_expression "pppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);" (assignment_expression "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)pppuVar18 - (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar18 - (int)pppuVar10)" ( (binary_expression "(int)pppuVar18 - (int)pppuVar10" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;" if (parenthesized_expression "(((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0))" ( (binary_expression "((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" (parenthesized_expression "((int)ppuVar19 < (int)pppuVar14)" ( (binary_expression "(int)ppuVar19 < (int)pppuVar14" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" ( (comma_expression "ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0" (assignment_expression "ppuVar20 = pppuVar6[7]" identifier = (subscript_expression "pppuVar6[7]" identifier [ number_literal ])) , (binary_expression "(int)ppuVar20 < (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (if_statement "if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" if (parenthesized_expression "(((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11))" ( (binary_expression "((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)" (parenthesized_expression "((int)ppuStack_1d4 < 0)" ( (binary_expression "(int)ppuStack_1d4 < 0" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)ppuVar11)" ( (binary_expression "-1 < (int)ppuVar11" number_literal < (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" identifier = (cast_expression "(uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar14 + (int)pppuStack_1dc)" ( (binary_expression "(int)pppuVar14 + (int)pppuStack_1dc" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" else (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" identifier = (cast_expression "(uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" ( (binary_expression "(int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4)" (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4)" ( (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "ppuStack_1d4 = (uint **)pppuVar14;" (assignment_expression "ppuStack_1d4 = (uint **)pppuVar14" identifier = (cast_expression "(uint **)pppuVar14" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar14 < 0)" ( (binary_expression "(int)pppuVar14 < 0" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_1d4 = (uint **)0x0;\n      }" { (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) }))) (if_statement "if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" if (parenthesized_expression "(((int)pppuVar18 < 0) && (-1 < (int)pppuVar10))" ( (binary_expression "((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)" (parenthesized_expression "((int)pppuVar18 < 0)" ( (binary_expression "(int)pppuVar18 < 0" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)pppuVar10)" ( (binary_expression "-1 < (int)pppuVar10" number_literal < (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" identifier = (cast_expression "(uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_1d0 + (int)ppuStack_1d8)" ( (binary_expression "(int)ppuStack_1d0 + (int)ppuStack_1d8" (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" identifier = identifier) ;) }) (else_clause "else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" else (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" identifier = (cast_expression "(uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" ( (binary_expression "(int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18)" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((int)pppuVar10 - (int)pppuVar18)" ( (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" if (parenthesized_expression "((int)ppuStack_1d0 < 0)" ( (binary_expression "(int)ppuStack_1d0 < 0" (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" { (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" identifier = identifier) ;) })) }))) (if_statement "if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" if (parenthesized_expression "((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4))" ( (binary_expression "(int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)((int)pppuStack_1dc + (int)ppuStack_1d4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppuStack_1dc + (int)ppuStack_1d4)" ( (binary_expression "(int)pppuStack_1dc + (int)ppuStack_1d4" (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);" (assignment_expression "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" identifier = (cast_expression "(uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar19 - (int)ppuStack_1d4)" ( (binary_expression "(int)ppuVar19 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppppuVar22 = (uint ****)*ppppuVar13;" (assignment_expression "ppppuVar22 = (uint ****)*ppppuVar13" identifier = (cast_expression "(uint ****)*ppppuVar13" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*ppppuVar13" * identifier))) ;) (if_statement "if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" if (parenthesized_expression "((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc))" ( (binary_expression "(ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)" (parenthesized_expression "(ppppuVar22 != (uint ****)0x0)" ( (binary_expression "ppppuVar22 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(ppppuVar22 < pppuStack_1dc)" ( (binary_expression "ppppuVar22 < pppuStack_1dc" identifier < identifier) ))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" { (expression_statement "pppuStack_1dc = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) })) (if_statement "if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" if (parenthesized_expression "((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0)" ( (binary_expression "(int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0)" identifier = (cast_expression "(uint **)((int)ppuVar20 - (int)ppuStack_1d0)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar20 - (int)ppuStack_1d0)" ( (binary_expression "(int)ppuVar20 - (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pppuVar10 = ppppuVar13[1];" (assignment_expression "pppuVar10 = ppppuVar13[1]" identifier = (subscript_expression "ppppuVar13[1]" identifier [ number_literal ])) ;) (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" identifier = (cast_expression "(uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_1d4 + (int)ppuVar11)" ( (binary_expression "(int)ppuStack_1d4 + (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" if (parenthesized_expression "((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10))" ( (binary_expression "(pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)" (parenthesized_expression "(pppuVar10 == (uint ***)0x0)" ( (binary_expression "pppuVar10 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(ppuStack_1d8 <= pppuVar10)" ( (binary_expression "ppuStack_1d8 <= pppuVar10" identifier <= identifier) ))) )) (compound_statement "{\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" { (if_statement "if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;" if (parenthesized_expression "(((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))" ( (binary_expression "((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" (parenthesized_expression "((uint ****)pppuStack_1dc != (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_1dc != (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) , (binary_expression "(uint ***)ppuStack_1d8 != (uint ***)0x0" (cast_expression "(uint ***)ppuStack_1d8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal))) ))) )) (goto_statement "goto LAB_001c7f40;" goto statement_identifier ;)) (labeled_statement "LAB_001c8110:\n      iVar4 = 0x285;" statement_identifier : (expression_statement "iVar4 = 0x285;" (assignment_expression "iVar4 = 0x285" identifier = number_literal) ;)) (expression_statement "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);" (assignment_expression "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" ( identifier , identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;) })) (expression_statement "ppuStack_1d8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar10" identifier = (cast_expression "(uint **)pppuVar10" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;" if (parenthesized_expression "((uint ****)pppuStack_1dc == (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_1dc == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c8110;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7f40:\n    iVar4 = 1;" statement_identifier : (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;)) (expression_statement "ppppuVar22 = (uint ****)pppuStack_1dc;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_1dc" identifier = (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" identifier = (cast_expression "(uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" ( identifier , identifier , identifier , number_literal , identifier ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;)) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8b]" identifier = (cast_expression "(uint ***)pppuVar6[0x8b]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ]))) ;) (expression_statement "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];" (assignment_expression "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a]" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)pppuVar6[0x8a]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ]))) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar10;" (assignment_expression "ppppuVar13[0x8b] = pppuVar10" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" if (parenthesized_expression "(((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12))" ( (binary_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" (parenthesized_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7))" ( (binary_expression "(int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)" (cast_expression "(int)pppuVar6[0x8a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ])) < (cast_expression "(int)((int)pppuVar14 + (int)ppppuVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppuVar14 + (int)ppppuVar7)" ( (binary_expression "(int)pppuVar14 + (int)ppppuVar7" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppuVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) || (parenthesized_expression "((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" ( (binary_expression "(int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar6[0x8b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ])) < (binary_expression "(int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" { (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1b00);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1b00)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1b00)" * (cast_expression "(code **)(pcVar28 + 0x1e1b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1b00)" ( (binary_expression "pcVar28 + 0x1e1b00" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar13[0x8c] = pppuVar14;" (assignment_expression "ppppuVar13[0x8c] = pppuVar14" (subscript_expression "ppppuVar13[0x8c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uStack_1e4 = 0;" (assignment_expression "uStack_1e4 = 0" identifier = number_literal) ;) (expression_statement "ppppuVar13[0x8d] = pppuVar18;" (assignment_expression "ppppuVar13[0x8d] = pppuVar18" (subscript_expression "ppppuVar13[0x8d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);" (assignment_expression "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15)" identifier = (call_expression "(*pcVar26)(pppuVar6,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuVar6,ppppuVar15)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);" (assignment_expression "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1280))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1280)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1280)" * (cast_expression "(code **)(pcVar28 + 0x1e1280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1280)" ( (binary_expression "pcVar28 + 0x1e1280" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13,ppppuVar15)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(pppuVar6)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3))" ( (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(pppuVar6)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar10 = ppppuVar13[7];" (assignment_expression "pppuVar10 = ppppuVar13[7]" identifier = (subscript_expression "ppppuVar13[7]" identifier [ number_literal ])) ;) (expression_statement "pppuVar12 = pppuVar10;" (assignment_expression "pppuVar12 = pppuVar10" identifier = identifier) ;) (if_statement "if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" if (parenthesized_expression "((int)pppuVar10 < 0)" ( (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f)" identifier = (cast_expression "(uint ***)((int)pppuVar10 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar10 + 0x3f)" ( (binary_expression "(int)pppuVar10 + 0x3f" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_13 < (int)pppuVar12 >> 6)" ( (binary_expression "extraout_v1_13 < (int)pppuVar12 >> 6" identifier < (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_15 < 2;" (assignment_expression "bVar1 = extraout_v1_15 < 2" identifier = (binary_expression "extraout_v1_15 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" { (expression_statement "bVar1 = (int)pppuVar10 < 0x80;" (assignment_expression "bVar1 = (int)pppuVar10 < 0x80" identifier = (binary_expression "(int)pppuVar10 < 0x80" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar12 = ppppuVar13[7];" (assignment_expression "pppuVar12 = ppppuVar13[7]" identifier = (subscript_expression "ppppuVar13[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" if (parenthesized_expression "((int)pppuVar12 < 0)" ( (binary_expression "(int)pppuVar12 < 0" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f)" identifier = (cast_expression "(uint ***)((int)pppuVar12 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar12 + 0x3f)" ( (binary_expression "(int)pppuVar12 + 0x3f" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar5 = (int)pppuVar12 >> 6;" (assignment_expression "iVar5 = (int)pppuVar12 >> 6" identifier = (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" if (parenthesized_expression "(extraout_v1_14 < iVar5)" ( (binary_expression "extraout_v1_14 < iVar5" identifier < identifier) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c8184;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" else (compound_statement "{\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" { (expression_statement "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);" (assignment_expression "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" { (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c801c;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c8038;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" else (compound_statement "{\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" { (labeled_statement "LAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }" { (labeled_statement "LAB_001c8184:\n        (*pcVar26)(7);" statement_identifier : (expression_statement "(*pcVar26)(7);" (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_12;" (assignment_expression "iVar5 = extraout_v1_12" identifier = identifier) ;) }) (else_clause "else {\n        iVar5 = 2;\n      }" else (compound_statement "{\n        iVar5 = 2;\n      }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001c8038:\n    puStack_1b8 = &uStack_1e8;" statement_identifier : (expression_statement "puStack_1b8 = &uStack_1e8;" (assignment_expression "puStack_1b8 = &uStack_1e8" identifier = (pointer_expression "&uStack_1e8" & identifier)) ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pppuStack_1b4 = (uint ***)&pppuStack_1dc;" (assignment_expression "pppuStack_1b4 = (uint ***)&pppuStack_1dc" identifier = (cast_expression "(uint ***)&pppuStack_1dc" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pppuStack_1dc" & identifier))) ;) (expression_statement "ppppuVar22 = (uint ****)&ppuStack_1cc;" (assignment_expression "ppppuVar22 = (uint ****)&ppuStack_1cc" identifier = (cast_expression "(uint ****)&ppuStack_1cc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppuStack_1cc" & identifier))) ;) (expression_statement "iStack_1b0 = 1;" (assignment_expression "iStack_1b0 = 1" identifier = number_literal) ;) (expression_statement "ppuStack_1cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_1cc = (uint **)pppuVar6" identifier = (cast_expression "(uint **)pppuVar6" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pppuStack_1c8 = (uint ***)ppppuVar15;" (assignment_expression "pppuStack_1c8 = (uint ***)ppppuVar15" identifier = (cast_expression "(uint ***)ppppuVar15" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "uStack_1c4 = uVar9;" (assignment_expression "uStack_1c4 = uVar9" identifier = identifier) ;) (expression_statement "uStack_1c0 = uVar8;" (assignment_expression "uStack_1c0 = uVar8" identifier = identifier) ;) (expression_statement "pppuStack_1bc = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_1bc = (uint ***)ppppuVar13" identifier = (cast_expression "(uint ***)ppppuVar13" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);" (call_expression "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1544))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1544)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1544)" * (cast_expression "(code **)(pcVar28 + 0x1e1544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1544)" ( (binary_expression "pcVar28 + 0x1e1544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0d4c) + 0x5198" (pointer_expression "*(int *)(pcVar28 + 0x1e0d4c)" * (cast_expression "(int *)(pcVar28 + 0x1e0d4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0d4c)" ( (binary_expression "pcVar28 + 0x1e0d4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "iVar5 = iStack_1b0;" (assignment_expression "iVar5 = iStack_1b0" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar9);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar9)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar8);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];" (assignment_expression "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8]" (subscript_expression "ppppuVar13[0xa8]" identifier [ number_literal ]) = (cast_expression "(uint ***)pppuVar6[0xa8]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0xa8]" identifier [ number_literal ]))) ;) (if_statement "if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" { (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" identifier = (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12f8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12f8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12f8)" * (cast_expression "(code **)(pcVar28 + 0x1e12f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12f8)" ( (binary_expression "pcVar28 + 0x1e12f8" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier ))))) ;) })) }) (else_clause "else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" else (compound_statement "{\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" { (labeled_statement "LAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;" statement_identifier : (expression_statement "ppuStack_1d0 = (uint **)pppuVar18;" (assignment_expression "ppuStack_1d0 = (uint **)pppuVar18" identifier = (cast_expression "(uint **)pppuVar18" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" identifier = (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1bdc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1bdc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) )) (argument_list "(pppuVar6,1,1,1,ppppuVar15)" ( identifier , number_literal , number_literal , number_literal , identifier ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }" { (labeled_statement "LAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;" statement_identifier : (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) }) (else_clause "else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" else (compound_statement "{\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e123c);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e123c)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e123c)" * (cast_expression "(code **)(pcVar28 + 0x1e123c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e123c)" ( (binary_expression "pcVar28 + 0x1e123c" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar13[0x35] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x35] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x35]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x34] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x34] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x34]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x24] = (uint ***)0x4;" (assignment_expression "ppppuVar13[0x24] = (uint ***)0x4" (subscript_expression "ppppuVar13[0x24]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "(*pcVar26)(ppppuVar13,ppppuVar15);" (call_expression "(*pcVar26)(ppppuVar13,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(ppppuVar13,ppppuVar15)" ( identifier , identifier ))) ;) (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppuVar13[0x8c] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8c] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8c]" identifier [ number_literal ]) = (cast_expression "(uint ***)0xffffffff" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x8d] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8d] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8d]" identifier [ number_literal ]) = (cast_expression "(uint ***)0xffffffff" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar22 = ppppuVar15;" (assignment_expression "ppppuVar22 = ppppuVar15" identifier = identifier) ;) (if_statement "if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" if (parenthesized_expression "(ppppuVar13[0x9a] == (uint ***)0x2)" ( (binary_expression "ppppuVar13[0x9a] == (uint ***)0x2" (subscript_expression "ppppuVar13[0x9a]" identifier [ number_literal ]) == (cast_expression "(uint ***)0x2" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" { (expression_statement "ppppuVar13[0x9a] = (uint ***)0x1;" (assignment_expression "ppppuVar13[0x9a] = (uint ***)0x1" (subscript_expression "ppppuVar13[0x9a]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) })) }))) }))) (if_statement "if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }" if (parenthesized_expression "(iStack_1ac == *piVar24)" ( (binary_expression "iStack_1ac == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n    return ppppuVar13;\n  }" { (return_statement "return ppppuVar13;" return identifier ;) })) (expression_statement "(**(code **)(pcVar28 + 0x1e1410))();" (call_expression "(**(code **)(pcVar28 + 0x1e1410))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1410))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1410)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1410)" * (cast_expression "(code **)(pcVar28 + 0x1e1410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1410)" ( (binary_expression "pcVar28 + 0x1e1410" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" statement_identifier : (expression_statement "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x294c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "ppppuVar22 + -0xa23" identifier + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;)) (return_statement "return ppppuVar22;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType\nCopyImageRegion(Image *destination,Image *source,size_t columns,size_t rows,ssize_t sx,ssize_t sy,\n               ssize_t dx,ssize_t dy,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  PixelTrait PVar3;\n  PixelInfo *pPVar4;\n  int iVar5;\n  CompressionType CVar6;\n  Image *pIVar7;\n  MagickBooleanType MVar8;\n  int extraout_v1;\n  Image *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  Image *extraout_v1_03;\n  size_t sVar9;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined4 uVar10;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  ClassType CVar11;\n  Image *pIVar12;\n  size_t sVar13;\n  Image *pIVar14;\n  Image *pIVar15;\n  ColorspaceType CVar16;\n  int iVar17;\n  size_t sVar18;\n  int iVar19;\n  Image *pIVar20;\n  Image *pIVar21;\n  undefined4 *puVar22;\n  size_t *psVar23;\n  ColorspaceType CVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  Image *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  Image *pIStack_1dc;\n  ColorspaceType CStack_1d8;\n  CompressionType CStack_1d4;\n  size_t sStack_1d0;\n  ClassType CStack_1cc;\n  Image *pIStack_1c8;\n  CompressionType CStack_1c4;\n  size_t sStack_1c0;\n  MagickBooleanType MStack_1bc;\n  undefined4 *puStack_1b8;\n  Image **ppIStack_1b4;\n  size_t sStack_1b0;\n  size_t sStack_1ac;\n  Image *pIStack_1a4;\n  Image *pIStack_1a0;\n  Image *pIStack_19c;\n  undefined4 *puStack_198;\n  PixelTrait PStack_194;\n  PixelInfo *pPStack_190;\n  Image *pIStack_18c;\n  Image *pIStack_188;\n  code *pcStack_184;\n  Image *pIStack_170;\n  Image *pIStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  Image *pIStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  ClassType *pCStack_14c;\n  MagickBooleanType MStack_148;\n  ClassType CStack_144;\n  Image *pIStack_140;\n  Image *pIStack_13c;\n  Image *pIStack_138;\n  undefined4 *puStack_134;\n  PixelTrait PStack_130;\n  PixelInfo *pPStack_12c;\n  Image *pIStack_128;\n  Image *pIStack_124;\n  Image *pIStack_120;\n  code *pcStack_11c;\n  Image *pIStack_100;\n  char *pcStack_fc;\n  int iStack_f8;\n  char *pcStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  ClassType CStack_d4;\n  ColorspaceType CStack_d0;\n  CompressionType CStack_cc;\n  size_t sStack_c8;\n  Image *pIStack_c4;\n  Image *pIStack_c0;\n  PixelInfo *pPStack_bc;\n  PixelTrait PStack_b8;\n  Image *pIStack_b4;\n  Image *pIStack_b0;\n  Image *pIStack_ac;\n  Image *pIStack_a8;\n  Image *pIStack_a4;\n  Image *pIStack_a0;\n  PixelInfo *pPStack_9c;\n  Image *pIStack_98;\n  undefined *puStack_94;\n  PixelTrait PStack_90;\n  PixelInfo *pPStack_8c;\n  size_t sStack_88;\n  size_t sStack_84;\n  Image *pIStack_80;\n  code *pcStack_7c;\n  Image *local_5c;\n  Image *local_58;\n  CompressionType local_54;\n  size_t local_50;\n  ClassType local_4c;\n  MagickBooleanType local_48;\n  PixelTrait local_44;\n  size_t local_40;\n  ExceptionInfo *local_3c;\n  PixelTrait local_38;\n  PixelInfo *local_34;\n  Image *local_30;\n  Image *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(Image **)PTR___stack_chk_guard_003a9230;\n  PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    sVar9 = rows;\n    if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }\n    unaff_s8 = (Image *)((int)sVar9 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }\n    pIVar21 = (Image *)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }\nLAB_001c6ec4:\n  pIVar12 = (Image *)&local_5c;\n  local_40 = dy;\n  local_44 = dx;\n  local_3c = exception;\n  local_48 = sy;\n  local_4c = sx;\n  local_30 = (Image *)0x1;\n  local_5c = destination;\n  local_58 = source;\n  local_54 = columns;\n  local_50 = rows;\n  local_38 = PVar3;\n  local_34 = pPVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0);\n  pIVar7 = local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3);\n  if (local_2c == *(Image **)puVar2) {\n    return (MagickBooleanType)pIVar7;\n  }\n  pcVar28 = ChopImage;\n  pIVar20 = local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar22 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pPStack_9c = (PixelInfo *)exception;\n  pIStack_a0 = pIVar7;\n  pIStack_a4 = (Image *)*puVar22;\n  puStack_f0 = puVar27;\n  pIStack_98 = destination;\n  PStack_90 = PVar3;\n  pPStack_8c = pPVar4;\n  sStack_88 = rows;\n  sStack_84 = columns;\n  pIStack_80 = unaff_s8;\n  pcStack_7c = pcVar28;\n  if (pIVar20 == (Image *)0x0) {\nLAB_001c777c:\n    pIVar21 = destination;\n    pIVar20 = pIVar7;\n    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84);\n  pIVar14 = (Image *)&DAT_000001b4;\n  CStack_144 = *pCStack_14c;\n  pcStack_168 = pcVar28;\n  pIStack_158 = pIVar12;\n  pIStack_140 = pIVar20;\n  pIStack_13c = (Image *)exception;\n  pIStack_138 = pIVar21;\n  puStack_134 = puVar22;\n  PStack_130 = PVar3;\n  pPStack_12c = pPVar4;\n  pIStack_128 = (Image *)rows;\n  pIStack_124 = (Image *)columns;\n  pIStack_120 = unaff_s8;\n  pcStack_11c = pcVar29;\n  if (pIVar7 == (Image *)0x0) {\nLAB_001c7c28:\n    pIVar7 = (Image *)columns;\n    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  psVar23 = *(size_t **)(pcVar28 + 0x1e15dc);\n  sStack_1ac = *psVar23;\n  pIStack_1a4 = pIVar20;\n  pIStack_1a0 = (Image *)exception;\n  pIStack_19c = pIVar21;\n  puStack_198 = puVar22;\n  PStack_194 = PVar3;\n  pPStack_190 = pPVar4;\n  pIStack_18c = (Image *)rows;\n  pIStack_188 = pIVar7;\n  pcStack_184 = pcVar26;\n  if (CVar11 == UndefinedClass) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x336c) != -0x54535255) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x3350) != 0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);\n  }\n  iVar5 = *(int *)(pcVar28 + 0x1e0c98);\n  if (pIVar12 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);\n    return MVar8;\n  }\n  if (pIVar14 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);\n    return MVar8;\n  }\n  pIVar21 = *(Image **)(pcVar28 + 0x1e0c98);\n  if (pIVar14->rows != 0xabacadab) goto LAB_001c8358;\n  pIVar7 = *(Image **)(CVar11 + 0x228);\n  CVar24 = *(ColorspaceType *)(CVar11 + 0x22c);\n  iVar17 = *(int *)(CVar11 + 0x230);\n  sVar9 = *(size_t *)(CVar11 + 0x234);\n  if (pIVar7 == (Image *)0x0) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\nLAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);\n  }\n  else if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }\n  CStack_1d4 = pIVar12->compression;\n  sVar18 = pIVar12->quality;\n  pIStack_1dc = (Image *)pIVar12->storage_class;\n  if ((Image *)pIVar12->storage_class == (Image *)0x0) {\n    pIStack_1dc = pIVar7;\n  }\n  CStack_1d8 = pIVar12->colorspace;\n  if (pIVar12->colorspace == UndefinedColorspace) {\n    CStack_1d8 = CVar24;\n  }\n  if ((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc) {\n    CVar6 = CStack_1d4 - iVar17;\n    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;\n    iVar5 = *(int *)(CVar11 + 0x18);\n    sStack_1d0 = sVar18 - sVar9;\n    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;\n    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }\n    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }\n    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }\n    pIVar21 = (Image *)pIVar12->storage_class;\n    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }\n    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }\n    CVar16 = pIVar12->colorspace;\n    iVar17 = CStack_1d4 + iVar17;\n    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }\n    CStack_1d8 = CVar16;\n    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar5 = 1;\n    pIVar21 = pIStack_1dc;\n    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);\n    if (MVar8 == MagickFalse) goto LAB_001c815c;\n    uVar10 = *(undefined4 *)(CVar11 + 0x22c);\n    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);\n    *(undefined4 *)(MVar8 + 0x22c) = uVar10;\n    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    *(int *)(MVar8 + 0x230) = iVar17;\n    uStack_1e4 = 0;\n    *(size_t *)(MVar8 + 0x234) = sVar18;\n    uStack_1e8 = 0;\n    sVar9 = (*pcVar26)(CVar11,pIVar14);\n    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);\n    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);\n    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar5 = 0;\n    ppIStack_1b4 = &pIStack_1dc;\n    pIVar21 = (Image *)&CStack_1cc;\n    sStack_1b0 = 1;\n    CStack_1cc = CVar11;\n    pIStack_1c8 = pIVar14;\n    CStack_1c4 = CVar6;\n    sStack_1c0 = sVar9;\n    MStack_1bc = MVar8;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);\n    sVar18 = sStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);\n    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);\n    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);\n    if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }\n  }\n  else {\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }\n  if (sStack_1ac == *psVar23) {\n    return MVar8;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668);\n  return MVar8;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType\nCopyImageRegion(Image *destination,Image *source,size_t columns,size_t rows,ssize_t sx,ssize_t sy,\n               ssize_t dx,ssize_t dy,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  PixelTrait PVar3;\n  PixelInfo *pPVar4;\n  int iVar5;\n  CompressionType CVar6;\n  Image *pIVar7;\n  MagickBooleanType MVar8;\n  int extraout_v1;\n  Image *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  Image *extraout_v1_03;\n  size_t sVar9;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined4 uVar10;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  ClassType CVar11;\n  Image *pIVar12;\n  size_t sVar13;\n  Image *pIVar14;\n  Image *pIVar15;\n  ColorspaceType CVar16;\n  int iVar17;\n  size_t sVar18;\n  int iVar19;\n  Image *pIVar20;\n  Image *pIVar21;\n  undefined4 *puVar22;\n  size_t *psVar23;\n  ColorspaceType CVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  Image *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  Image *pIStack_1dc;\n  ColorspaceType CStack_1d8;\n  CompressionType CStack_1d4;\n  size_t sStack_1d0;\n  ClassType CStack_1cc;\n  Image *pIStack_1c8;\n  CompressionType CStack_1c4;\n  size_t sStack_1c0;\n  MagickBooleanType MStack_1bc;\n  undefined4 *puStack_1b8;\n  Image **ppIStack_1b4;\n  size_t sStack_1b0;\n  size_t sStack_1ac;\n  Image *pIStack_1a4;\n  Image *pIStack_1a0;\n  Image *pIStack_19c;\n  undefined4 *puStack_198;\n  PixelTrait PStack_194;\n  PixelInfo *pPStack_190;\n  Image *pIStack_18c;\n  Image *pIStack_188;\n  code *pcStack_184;\n  Image *pIStack_170;\n  Image *pIStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  Image *pIStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  ClassType *pCStack_14c;\n  MagickBooleanType MStack_148;\n  ClassType CStack_144;\n  Image *pIStack_140;\n  Image *pIStack_13c;\n  Image *pIStack_138;\n  undefined4 *puStack_134;\n  PixelTrait PStack_130;\n  PixelInfo *pPStack_12c;\n  Image *pIStack_128;\n  Image *pIStack_124;\n  Image *pIStack_120;\n  code *pcStack_11c;\n  Image *pIStack_100;\n  char *pcStack_fc;\n  int iStack_f8;\n  char *pcStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  ClassType CStack_d4;\n  ColorspaceType CStack_d0;\n  CompressionType CStack_cc;\n  size_t sStack_c8;\n  Image *pIStack_c4;\n  Image *pIStack_c0;\n  PixelInfo *pPStack_bc;\n  PixelTrait PStack_b8;\n  Image *pIStack_b4;\n  Image *pIStack_b0;\n  Image *pIStack_ac;\n  Image *pIStack_a8;\n  Image *pIStack_a4;\n  Image *pIStack_a0;\n  PixelInfo *pPStack_9c;\n  Image *pIStack_98;\n  undefined *puStack_94;\n  PixelTrait PStack_90;\n  PixelInfo *pPStack_8c;\n  size_t sStack_88;\n  size_t sStack_84;\n  Image *pIStack_80;\n  code *pcStack_7c;\n  Image *local_5c;\n  Image *local_58;\n  CompressionType local_54;\n  size_t local_50;\n  ClassType local_4c;\n  MagickBooleanType local_48;\n  PixelTrait local_44;\n  size_t local_40;\n  ExceptionInfo *local_3c;\n  PixelTrait local_38;\n  PixelInfo *local_34;\n  Image *local_30;\n  Image *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(Image **)PTR___stack_chk_guard_003a9230;\n  PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    sVar9 = rows;\n    if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }\n    unaff_s8 = (Image *)((int)sVar9 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }\n    pIVar21 = (Image *)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }\nLAB_001c6ec4:\n  pIVar12 = (Image *)&local_5c;\n  local_40 = dy;\n  local_44 = dx;\n  local_3c = exception;\n  local_48 = sy;\n  local_4c = sx;\n  local_30 = (Image *)0x1;\n  local_5c = destination;\n  local_58 = source;\n  local_54 = columns;\n  local_50 = rows;\n  local_38 = PVar3;\n  local_34 = pPVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0);\n  pIVar7 = local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3);\n  if (local_2c == *(Image **)puVar2) {\n    return (MagickBooleanType)pIVar7;\n  }\n  pcVar28 = ChopImage;\n  pIVar20 = local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar22 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pPStack_9c = (PixelInfo *)exception;\n  pIStack_a0 = pIVar7;\n  pIStack_a4 = (Image *)*puVar22;\n  puStack_f0 = puVar27;\n  pIStack_98 = destination;\n  PStack_90 = PVar3;\n  pPStack_8c = pPVar4;\n  sStack_88 = rows;\n  sStack_84 = columns;\n  pIStack_80 = unaff_s8;\n  pcStack_7c = pcVar28;\n  if (pIVar20 == (Image *)0x0) {\nLAB_001c777c:\n    pIVar21 = destination;\n    pIVar20 = pIVar7;\n    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84);\n  pIVar14 = (Image *)&DAT_000001b4;\n  CStack_144 = *pCStack_14c;\n  pcStack_168 = pcVar28;\n  pIStack_158 = pIVar12;\n  pIStack_140 = pIVar20;\n  pIStack_13c = (Image *)exception;\n  pIStack_138 = pIVar21;\n  puStack_134 = puVar22;\n  PStack_130 = PVar3;\n  pPStack_12c = pPVar4;\n  pIStack_128 = (Image *)rows;\n  pIStack_124 = (Image *)columns;\n  pIStack_120 = unaff_s8;\n  pcStack_11c = pcVar29;\n  if (pIVar7 == (Image *)0x0) {\nLAB_001c7c28:\n    pIVar7 = (Image *)columns;\n    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  psVar23 = *(size_t **)(pcVar28 + 0x1e15dc);\n  sStack_1ac = *psVar23;\n  pIStack_1a4 = pIVar20;\n  pIStack_1a0 = (Image *)exception;\n  pIStack_19c = pIVar21;\n  puStack_198 = puVar22;\n  PStack_194 = PVar3;\n  pPStack_190 = pPVar4;\n  pIStack_18c = (Image *)rows;\n  pIStack_188 = pIVar7;\n  pcStack_184 = pcVar26;\n  if (CVar11 == UndefinedClass) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x336c) != -0x54535255) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x3350) != 0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);\n  }\n  iVar5 = *(int *)(pcVar28 + 0x1e0c98);\n  if (pIVar12 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);\n    return MVar8;\n  }\n  if (pIVar14 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);\n    return MVar8;\n  }\n  pIVar21 = *(Image **)(pcVar28 + 0x1e0c98);\n  if (pIVar14->rows != 0xabacadab) goto LAB_001c8358;\n  pIVar7 = *(Image **)(CVar11 + 0x228);\n  CVar24 = *(ColorspaceType *)(CVar11 + 0x22c);\n  iVar17 = *(int *)(CVar11 + 0x230);\n  sVar9 = *(size_t *)(CVar11 + 0x234);\n  if (pIVar7 == (Image *)0x0) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\nLAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);\n  }\n  else if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }\n  CStack_1d4 = pIVar12->compression;\n  sVar18 = pIVar12->quality;\n  pIStack_1dc = (Image *)pIVar12->storage_class;\n  if ((Image *)pIVar12->storage_class == (Image *)0x0) {\n    pIStack_1dc = pIVar7;\n  }\n  CStack_1d8 = pIVar12->colorspace;\n  if (pIVar12->colorspace == UndefinedColorspace) {\n    CStack_1d8 = CVar24;\n  }\n  if ((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc) {\n    CVar6 = CStack_1d4 - iVar17;\n    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;\n    iVar5 = *(int *)(CVar11 + 0x18);\n    sStack_1d0 = sVar18 - sVar9;\n    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;\n    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }\n    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }\n    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }\n    pIVar21 = (Image *)pIVar12->storage_class;\n    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }\n    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }\n    CVar16 = pIVar12->colorspace;\n    iVar17 = CStack_1d4 + iVar17;\n    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }\n    CStack_1d8 = CVar16;\n    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar5 = 1;\n    pIVar21 = pIStack_1dc;\n    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);\n    if (MVar8 == MagickFalse) goto LAB_001c815c;\n    uVar10 = *(undefined4 *)(CVar11 + 0x22c);\n    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);\n    *(undefined4 *)(MVar8 + 0x22c) = uVar10;\n    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    *(int *)(MVar8 + 0x230) = iVar17;\n    uStack_1e4 = 0;\n    *(size_t *)(MVar8 + 0x234) = sVar18;\n    uStack_1e8 = 0;\n    sVar9 = (*pcVar26)(CVar11,pIVar14);\n    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);\n    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);\n    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar5 = 0;\n    ppIStack_1b4 = &pIStack_1dc;\n    pIVar21 = (Image *)&CStack_1cc;\n    sStack_1b0 = 1;\n    CStack_1cc = CVar11;\n    pIStack_1c8 = pIVar14;\n    CStack_1c4 = CVar6;\n    sStack_1c0 = sVar9;\n    MStack_1bc = MVar8;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);\n    sVar18 = sStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);\n    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);\n    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);\n    if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }\n  }\n  else {\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }\n  if (sStack_1ac == *psVar23) {\n    return MVar8;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668);\n  return MVar8;\n}" type_identifier (function_declarator "CopyImageRegion(Image *destination,Image *source,size_t columns,size_t rows,ssize_t sx,ssize_t sy,\n               ssize_t dx,ssize_t dy,ExceptionInfo *exception)" identifier (parameter_list "(Image *destination,Image *source,size_t columns,size_t rows,ssize_t sx,ssize_t sy,\n               ssize_t dx,ssize_t dy,ExceptionInfo *exception)" ( (parameter_declaration "Image *destination" type_identifier (pointer_declarator "*destination" * identifier)) , (parameter_declaration "Image *source" type_identifier (pointer_declarator "*source" * identifier)) , (parameter_declaration "size_t columns" primitive_type identifier) , (parameter_declaration "size_t rows" primitive_type identifier) , (parameter_declaration "ssize_t sx" primitive_type identifier) , (parameter_declaration "ssize_t sy" primitive_type identifier) , (parameter_declaration "ssize_t dx" primitive_type identifier) , (parameter_declaration "ssize_t dy" primitive_type identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  PixelTrait PVar3;\n  PixelInfo *pPVar4;\n  int iVar5;\n  CompressionType CVar6;\n  Image *pIVar7;\n  MagickBooleanType MVar8;\n  int extraout_v1;\n  Image *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  Image *extraout_v1_03;\n  size_t sVar9;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined4 uVar10;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  ClassType CVar11;\n  Image *pIVar12;\n  size_t sVar13;\n  Image *pIVar14;\n  Image *pIVar15;\n  ColorspaceType CVar16;\n  int iVar17;\n  size_t sVar18;\n  int iVar19;\n  Image *pIVar20;\n  Image *pIVar21;\n  undefined4 *puVar22;\n  size_t *psVar23;\n  ColorspaceType CVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  Image *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  Image *pIStack_1dc;\n  ColorspaceType CStack_1d8;\n  CompressionType CStack_1d4;\n  size_t sStack_1d0;\n  ClassType CStack_1cc;\n  Image *pIStack_1c8;\n  CompressionType CStack_1c4;\n  size_t sStack_1c0;\n  MagickBooleanType MStack_1bc;\n  undefined4 *puStack_1b8;\n  Image **ppIStack_1b4;\n  size_t sStack_1b0;\n  size_t sStack_1ac;\n  Image *pIStack_1a4;\n  Image *pIStack_1a0;\n  Image *pIStack_19c;\n  undefined4 *puStack_198;\n  PixelTrait PStack_194;\n  PixelInfo *pPStack_190;\n  Image *pIStack_18c;\n  Image *pIStack_188;\n  code *pcStack_184;\n  Image *pIStack_170;\n  Image *pIStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  Image *pIStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  ClassType *pCStack_14c;\n  MagickBooleanType MStack_148;\n  ClassType CStack_144;\n  Image *pIStack_140;\n  Image *pIStack_13c;\n  Image *pIStack_138;\n  undefined4 *puStack_134;\n  PixelTrait PStack_130;\n  PixelInfo *pPStack_12c;\n  Image *pIStack_128;\n  Image *pIStack_124;\n  Image *pIStack_120;\n  code *pcStack_11c;\n  Image *pIStack_100;\n  char *pcStack_fc;\n  int iStack_f8;\n  char *pcStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  ClassType CStack_d4;\n  ColorspaceType CStack_d0;\n  CompressionType CStack_cc;\n  size_t sStack_c8;\n  Image *pIStack_c4;\n  Image *pIStack_c0;\n  PixelInfo *pPStack_bc;\n  PixelTrait PStack_b8;\n  Image *pIStack_b4;\n  Image *pIStack_b0;\n  Image *pIStack_ac;\n  Image *pIStack_a8;\n  Image *pIStack_a4;\n  Image *pIStack_a0;\n  PixelInfo *pPStack_9c;\n  Image *pIStack_98;\n  undefined *puStack_94;\n  PixelTrait PStack_90;\n  PixelInfo *pPStack_8c;\n  size_t sStack_88;\n  size_t sStack_84;\n  Image *pIStack_80;\n  code *pcStack_7c;\n  Image *local_5c;\n  Image *local_58;\n  CompressionType local_54;\n  size_t local_50;\n  ClassType local_4c;\n  MagickBooleanType local_48;\n  PixelTrait local_44;\n  size_t local_40;\n  ExceptionInfo *local_3c;\n  PixelTrait local_38;\n  PixelInfo *local_34;\n  Image *local_30;\n  Image *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(Image **)PTR___stack_chk_guard_003a9230;\n  PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    sVar9 = rows;\n    if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }\n    unaff_s8 = (Image *)((int)sVar9 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }\n    pIVar21 = (Image *)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }\nLAB_001c6ec4:\n  pIVar12 = (Image *)&local_5c;\n  local_40 = dy;\n  local_44 = dx;\n  local_3c = exception;\n  local_48 = sy;\n  local_4c = sx;\n  local_30 = (Image *)0x1;\n  local_5c = destination;\n  local_58 = source;\n  local_54 = columns;\n  local_50 = rows;\n  local_38 = PVar3;\n  local_34 = pPVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0);\n  pIVar7 = local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3);\n  if (local_2c == *(Image **)puVar2) {\n    return (MagickBooleanType)pIVar7;\n  }\n  pcVar28 = ChopImage;\n  pIVar20 = local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar22 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pPStack_9c = (PixelInfo *)exception;\n  pIStack_a0 = pIVar7;\n  pIStack_a4 = (Image *)*puVar22;\n  puStack_f0 = puVar27;\n  pIStack_98 = destination;\n  PStack_90 = PVar3;\n  pPStack_8c = pPVar4;\n  sStack_88 = rows;\n  sStack_84 = columns;\n  pIStack_80 = unaff_s8;\n  pcStack_7c = pcVar28;\n  if (pIVar20 == (Image *)0x0) {\nLAB_001c777c:\n    pIVar21 = destination;\n    pIVar20 = pIVar7;\n    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84);\n  pIVar14 = (Image *)&DAT_000001b4;\n  CStack_144 = *pCStack_14c;\n  pcStack_168 = pcVar28;\n  pIStack_158 = pIVar12;\n  pIStack_140 = pIVar20;\n  pIStack_13c = (Image *)exception;\n  pIStack_138 = pIVar21;\n  puStack_134 = puVar22;\n  PStack_130 = PVar3;\n  pPStack_12c = pPVar4;\n  pIStack_128 = (Image *)rows;\n  pIStack_124 = (Image *)columns;\n  pIStack_120 = unaff_s8;\n  pcStack_11c = pcVar29;\n  if (pIVar7 == (Image *)0x0) {\nLAB_001c7c28:\n    pIVar7 = (Image *)columns;\n    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  psVar23 = *(size_t **)(pcVar28 + 0x1e15dc);\n  sStack_1ac = *psVar23;\n  pIStack_1a4 = pIVar20;\n  pIStack_1a0 = (Image *)exception;\n  pIStack_19c = pIVar21;\n  puStack_198 = puVar22;\n  PStack_194 = PVar3;\n  pPStack_190 = pPVar4;\n  pIStack_18c = (Image *)rows;\n  pIStack_188 = pIVar7;\n  pcStack_184 = pcVar26;\n  if (CVar11 == UndefinedClass) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x336c) != -0x54535255) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }\n  if (*(int *)(CVar11 + 0x3350) != 0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);\n  }\n  iVar5 = *(int *)(pcVar28 + 0x1e0c98);\n  if (pIVar12 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);\n    return MVar8;\n  }\n  if (pIVar14 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);\n    return MVar8;\n  }\n  pIVar21 = *(Image **)(pcVar28 + 0x1e0c98);\n  if (pIVar14->rows != 0xabacadab) goto LAB_001c8358;\n  pIVar7 = *(Image **)(CVar11 + 0x228);\n  CVar24 = *(ColorspaceType *)(CVar11 + 0x22c);\n  iVar17 = *(int *)(CVar11 + 0x230);\n  sVar9 = *(size_t *)(CVar11 + 0x234);\n  if (pIVar7 == (Image *)0x0) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\nLAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);\n  }\n  else if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }\n  CStack_1d4 = pIVar12->compression;\n  sVar18 = pIVar12->quality;\n  pIStack_1dc = (Image *)pIVar12->storage_class;\n  if ((Image *)pIVar12->storage_class == (Image *)0x0) {\n    pIStack_1dc = pIVar7;\n  }\n  CStack_1d8 = pIVar12->colorspace;\n  if (pIVar12->colorspace == UndefinedColorspace) {\n    CStack_1d8 = CVar24;\n  }\n  if ((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc) {\n    CVar6 = CStack_1d4 - iVar17;\n    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;\n    iVar5 = *(int *)(CVar11 + 0x18);\n    sStack_1d0 = sVar18 - sVar9;\n    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;\n    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }\n    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }\n    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }\n    pIVar21 = (Image *)pIVar12->storage_class;\n    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }\n    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }\n    CVar16 = pIVar12->colorspace;\n    iVar17 = CStack_1d4 + iVar17;\n    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }\n    CStack_1d8 = CVar16;\n    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar5 = 1;\n    pIVar21 = pIStack_1dc;\n    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);\n    if (MVar8 == MagickFalse) goto LAB_001c815c;\n    uVar10 = *(undefined4 *)(CVar11 + 0x22c);\n    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);\n    *(undefined4 *)(MVar8 + 0x22c) = uVar10;\n    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    *(int *)(MVar8 + 0x230) = iVar17;\n    uStack_1e4 = 0;\n    *(size_t *)(MVar8 + 0x234) = sVar18;\n    uStack_1e8 = 0;\n    sVar9 = (*pcVar26)(CVar11,pIVar14);\n    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);\n    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);\n    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar5 = 0;\n    ppIStack_1b4 = &pIStack_1dc;\n    pIVar21 = (Image *)&CStack_1cc;\n    sStack_1b0 = 1;\n    CStack_1cc = CVar11;\n    pIStack_1c8 = pIVar14;\n    CStack_1c4 = CVar6;\n    sStack_1c0 = sVar9;\n    MStack_1bc = MVar8;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);\n    sVar18 = sStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);\n    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);\n    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);\n    if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }\n  }\n  else {\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }\n  if (sStack_1ac == *psVar23) {\n    return MVar8;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668);\n  return MVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "PixelTrait PVar3;" type_identifier identifier ;) (declaration "PixelInfo *pPVar4;" type_identifier (pointer_declarator "*pPVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "CompressionType CVar6;" type_identifier identifier ;) (declaration "Image *pIVar7;" type_identifier (pointer_declarator "*pIVar7" * identifier) ;) (declaration "MagickBooleanType MVar8;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "Image *extraout_v1_00;" type_identifier (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "Image *extraout_v1_03;" type_identifier (pointer_declarator "*extraout_v1_03" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "int extraout_v1_13;" primitive_type identifier ;) (declaration "int extraout_v1_14;" primitive_type identifier ;) (declaration "int extraout_v1_15;" primitive_type identifier ;) (declaration "ClassType CVar11;" type_identifier identifier ;) (declaration "Image *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "Image *pIVar14;" type_identifier (pointer_declarator "*pIVar14" * identifier) ;) (declaration "Image *pIVar15;" type_identifier (pointer_declarator "*pIVar15" * identifier) ;) (declaration "ColorspaceType CVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "size_t sVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "Image *pIVar20;" type_identifier (pointer_declarator "*pIVar20" * identifier) ;) (declaration "Image *pIVar21;" type_identifier (pointer_declarator "*pIVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "size_t *psVar23;" primitive_type (pointer_declarator "*psVar23" * identifier) ;) (declaration "ColorspaceType CVar24;" type_identifier identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "Image *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "float fVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "undefined4 uStack_1e4;" type_identifier identifier ;) (declaration "Image *pIStack_1dc;" type_identifier (pointer_declarator "*pIStack_1dc" * identifier) ;) (declaration "ColorspaceType CStack_1d8;" type_identifier identifier ;) (declaration "CompressionType CStack_1d4;" type_identifier identifier ;) (declaration "size_t sStack_1d0;" primitive_type identifier ;) (declaration "ClassType CStack_1cc;" type_identifier identifier ;) (declaration "Image *pIStack_1c8;" type_identifier (pointer_declarator "*pIStack_1c8" * identifier) ;) (declaration "CompressionType CStack_1c4;" type_identifier identifier ;) (declaration "size_t sStack_1c0;" primitive_type identifier ;) (declaration "MagickBooleanType MStack_1bc;" type_identifier identifier ;) (declaration "undefined4 *puStack_1b8;" type_identifier (pointer_declarator "*puStack_1b8" * identifier) ;) (declaration "Image **ppIStack_1b4;" type_identifier (pointer_declarator "**ppIStack_1b4" * (pointer_declarator "*ppIStack_1b4" * identifier)) ;) (declaration "size_t sStack_1b0;" primitive_type identifier ;) (declaration "size_t sStack_1ac;" primitive_type identifier ;) (declaration "Image *pIStack_1a4;" type_identifier (pointer_declarator "*pIStack_1a4" * identifier) ;) (declaration "Image *pIStack_1a0;" type_identifier (pointer_declarator "*pIStack_1a0" * identifier) ;) (declaration "Image *pIStack_19c;" type_identifier (pointer_declarator "*pIStack_19c" * identifier) ;) (declaration "undefined4 *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "PixelTrait PStack_194;" type_identifier identifier ;) (declaration "PixelInfo *pPStack_190;" type_identifier (pointer_declarator "*pPStack_190" * identifier) ;) (declaration "Image *pIStack_18c;" type_identifier (pointer_declarator "*pIStack_18c" * identifier) ;) (declaration "Image *pIStack_188;" type_identifier (pointer_declarator "*pIStack_188" * identifier) ;) (declaration "code *pcStack_184;" type_identifier (pointer_declarator "*pcStack_184" * identifier) ;) (declaration "Image *pIStack_170;" type_identifier (pointer_declarator "*pIStack_170" * identifier) ;) (declaration "Image *pIStack_16c;" type_identifier (pointer_declarator "*pIStack_16c" * identifier) ;) (declaration "code *pcStack_168;" type_identifier (pointer_declarator "*pcStack_168" * identifier) ;) (declaration "undefined4 uStack_15c;" type_identifier identifier ;) (declaration "Image *pIStack_158;" type_identifier (pointer_declarator "*pIStack_158" * identifier) ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "ClassType *pCStack_14c;" type_identifier (pointer_declarator "*pCStack_14c" * identifier) ;) (declaration "MagickBooleanType MStack_148;" type_identifier identifier ;) (declaration "ClassType CStack_144;" type_identifier identifier ;) (declaration "Image *pIStack_140;" type_identifier (pointer_declarator "*pIStack_140" * identifier) ;) (declaration "Image *pIStack_13c;" type_identifier (pointer_declarator "*pIStack_13c" * identifier) ;) (declaration "Image *pIStack_138;" type_identifier (pointer_declarator "*pIStack_138" * identifier) ;) (declaration "undefined4 *puStack_134;" type_identifier (pointer_declarator "*puStack_134" * identifier) ;) (declaration "PixelTrait PStack_130;" type_identifier identifier ;) (declaration "PixelInfo *pPStack_12c;" type_identifier (pointer_declarator "*pPStack_12c" * identifier) ;) (declaration "Image *pIStack_128;" type_identifier (pointer_declarator "*pIStack_128" * identifier) ;) (declaration "Image *pIStack_124;" type_identifier (pointer_declarator "*pIStack_124" * identifier) ;) (declaration "Image *pIStack_120;" type_identifier (pointer_declarator "*pIStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "Image *pIStack_100;" type_identifier (pointer_declarator "*pIStack_100" * identifier) ;) (declaration "char *pcStack_fc;" primitive_type (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "char *pcStack_f4;" primitive_type (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "undefined *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_e0;" type_identifier identifier ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "ClassType CStack_d4;" type_identifier identifier ;) (declaration "ColorspaceType CStack_d0;" type_identifier identifier ;) (declaration "CompressionType CStack_cc;" type_identifier identifier ;) (declaration "size_t sStack_c8;" primitive_type identifier ;) (declaration "Image *pIStack_c4;" type_identifier (pointer_declarator "*pIStack_c4" * identifier) ;) (declaration "Image *pIStack_c0;" type_identifier (pointer_declarator "*pIStack_c0" * identifier) ;) (declaration "PixelInfo *pPStack_bc;" type_identifier (pointer_declarator "*pPStack_bc" * identifier) ;) (declaration "PixelTrait PStack_b8;" type_identifier identifier ;) (declaration "Image *pIStack_b4;" type_identifier (pointer_declarator "*pIStack_b4" * identifier) ;) (declaration "Image *pIStack_b0;" type_identifier (pointer_declarator "*pIStack_b0" * identifier) ;) (declaration "Image *pIStack_ac;" type_identifier (pointer_declarator "*pIStack_ac" * identifier) ;) (declaration "Image *pIStack_a8;" type_identifier (pointer_declarator "*pIStack_a8" * identifier) ;) (declaration "Image *pIStack_a4;" type_identifier (pointer_declarator "*pIStack_a4" * identifier) ;) (declaration "Image *pIStack_a0;" type_identifier (pointer_declarator "*pIStack_a0" * identifier) ;) (declaration "PixelInfo *pPStack_9c;" type_identifier (pointer_declarator "*pPStack_9c" * identifier) ;) (declaration "Image *pIStack_98;" type_identifier (pointer_declarator "*pIStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "PixelTrait PStack_90;" type_identifier identifier ;) (declaration "PixelInfo *pPStack_8c;" type_identifier (pointer_declarator "*pPStack_8c" * identifier) ;) (declaration "size_t sStack_88;" primitive_type identifier ;) (declaration "size_t sStack_84;" primitive_type identifier ;) (declaration "Image *pIStack_80;" type_identifier (pointer_declarator "*pIStack_80" * identifier) ;) (declaration "code *pcStack_7c;" type_identifier (pointer_declarator "*pcStack_7c" * identifier) ;) (declaration "Image *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "Image *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "CompressionType local_54;" type_identifier identifier ;) (declaration "size_t local_50;" primitive_type identifier ;) (declaration "ClassType local_4c;" type_identifier identifier ;) (declaration "MagickBooleanType local_48;" type_identifier identifier ;) (declaration "PixelTrait local_44;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "ExceptionInfo *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "PixelTrait local_38;" type_identifier identifier ;) (declaration "PixelInfo *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "Image *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "Image *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar2 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(Image **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(Image **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(Image **)PTR___stack_chk_guard_003a9230" * (cast_expression "(Image **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception);" (assignment_expression "PVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(source,exception)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(source,exception)" ( identifier , identifier )))) ;) (expression_statement "pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception);" (assignment_expression "pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception)" identifier = (cast_expression "(PixelInfo *)(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(destination,exception)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(destination,exception)" ( identifier , identifier ))))) ;) (expression_statement "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source);" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(source)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(source)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    sVar9 = rows;\n    if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }\n    unaff_s8 = (Image *)((int)sVar9 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }\n    pIVar21 = (Image *)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))\n     && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(source)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(source)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(source)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3))" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(destination)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n         (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(destination)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(destination)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    sVar9 = rows;\n    if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }\n    unaff_s8 = (Image *)((int)sVar9 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }\n    pIVar21 = (Image *)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar9 = rows;" (assignment_expression "sVar9 = rows" identifier = identifier) ;) (if_statement "if ((int)rows < 0) {\n      sVar9 = rows + 0x3f;\n    }" if (parenthesized_expression "((int)rows < 0)" ( (binary_expression "(int)rows < 0" (cast_expression "(int)rows" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      sVar9 = rows + 0x3f;\n    }" { (expression_statement "sVar9 = rows + 0x3f;" (assignment_expression "sVar9 = rows + 0x3f" identifier = (binary_expression "rows + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s8 = (Image *)((int)sVar9 >> 6);" (assignment_expression "unaff_s8 = (Image *)((int)sVar9 >> 6)" identifier = (cast_expression "(Image *)((int)sVar9 >> 6)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)sVar9 >> 6)" ( (binary_expression "(int)sVar9 >> 6" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)rows < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s8)" ( (binary_expression "extraout_v1 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)rows < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)rows < 0x80;\n    }" { (expression_statement "bVar1 = (int)rows < 0x80;" (assignment_expression "bVar1 = (int)rows < 0x80" identifier = (binary_expression "(int)rows < 0x80" (cast_expression "(int)rows" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "pIVar21 = (Image *)0x1;" (assignment_expression "pIVar21 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" if (parenthesized_expression "(((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8))" ( (binary_expression "((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) , (comma_expression "pIVar21 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (assignment_expression "pIVar21 = unaff_s8" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pIVar21 = extraout_v1_03;" (assignment_expression "pIVar21 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s8 = extraout_v1_03;" (assignment_expression "unaff_s8 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }" else (compound_statement "{\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }\n  }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        pIVar21 = (Image *)0x1;\n        goto LAB_001c6ec4;\n      }" { (expression_statement "pIVar21 = (Image *)0x1;" (assignment_expression "pIVar21 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001c6ec4;" goto statement_identifier ;) })) })) (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }\n    else {\n      pIVar21 = (Image *)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pIVar21 = extraout_v1_00;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pIVar21 = extraout_v1_00;" (assignment_expression "pIVar21 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      pIVar21 = (Image *)0x2;\n    }" else (compound_statement "{\n      pIVar21 = (Image *)0x2;\n    }" { (expression_statement "pIVar21 = (Image *)0x2;" (assignment_expression "pIVar21 = (Image *)0x2" identifier = (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_001c6ec4:\n  pIVar12 = (Image *)&local_5c;" statement_identifier : (expression_statement "pIVar12 = (Image *)&local_5c;" (assignment_expression "pIVar12 = (Image *)&local_5c" identifier = (cast_expression "(Image *)&local_5c" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_5c" & identifier))) ;)) (expression_statement "local_40 = dy;" (assignment_expression "local_40 = dy" identifier = identifier) ;) (expression_statement "local_44 = dx;" (assignment_expression "local_44 = dx" identifier = identifier) ;) (expression_statement "local_3c = exception;" (assignment_expression "local_3c = exception" identifier = identifier) ;) (expression_statement "local_48 = sy;" (assignment_expression "local_48 = sy" identifier = identifier) ;) (expression_statement "local_4c = sx;" (assignment_expression "local_4c = sx" identifier = identifier) ;) (expression_statement "local_30 = (Image *)0x1;" (assignment_expression "local_30 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = destination;" (assignment_expression "local_5c = destination" identifier = identifier) ;) (expression_statement "local_58 = source;" (assignment_expression "local_58 = source" identifier = identifier) ;) (expression_statement "local_54 = columns;" (assignment_expression "local_54 = columns" identifier = identifier) ;) (expression_statement "local_50 = rows;" (assignment_expression "local_50 = rows" identifier = identifier) ;) (expression_statement "local_38 = PVar3;" (assignment_expression "local_38 = PVar3" identifier = identifier) ;) (expression_statement "local_34 = pPVar4;" (assignment_expression "local_34 = pPVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a89a0 + 0x5be0,pIVar12,pIVar21,0)" ( (binary_expression "PTR_LAB_003a89a0 + 0x5be0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "pIVar7 = local_30;" (assignment_expression "pIVar7 = local_30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(pPVar4)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar4)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(PVar3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PVar3)" ( identifier ))) ;) (if_statement "if (local_2c == *(Image **)puVar2) {\n    return (MagickBooleanType)pIVar7;\n  }" if (parenthesized_expression "(local_2c == *(Image **)puVar2)" ( (binary_expression "local_2c == *(Image **)puVar2" identifier == (pointer_expression "*(Image **)puVar2" * (cast_expression "(Image **)puVar2" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return (MagickBooleanType)pIVar7;\n  }" { (return_statement "return (MagickBooleanType)pIVar7;" return (cast_expression "(MagickBooleanType)pIVar7" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier) ;) })) (expression_statement "pcVar28 = ChopImage;" (assignment_expression "pcVar28 = ChopImage" identifier = identifier) ;) (expression_statement "pIVar20 = local_2c;" (assignment_expression "pIVar20 = local_2c" identifier = identifier) ;) (expression_statement "puVar25 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar25 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar27 = puVar25 + 0x1e9808;" (assignment_expression "puVar27 = puVar25 + 0x1e9808" identifier = (binary_expression "puVar25 + 0x1e9808" identifier + number_literal)) ;) (expression_statement "puStack_94 = puVar2;" (assignment_expression "puStack_94 = puVar2" identifier = identifier) ;) (expression_statement "puVar22 = *(undefined4 **)(puVar25 + 0x1e2188);" (assignment_expression "puVar22 = *(undefined4 **)(puVar25 + 0x1e2188)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + 0x1e2188)" * (cast_expression "(undefined4 **)(puVar25 + 0x1e2188)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2188)" ( (binary_expression "puVar25 + 0x1e2188" identifier + number_literal) ))))) ;) (expression_statement "pPStack_9c = (PixelInfo *)exception;" (assignment_expression "pPStack_9c = (PixelInfo *)exception" identifier = (cast_expression "(PixelInfo *)exception" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_a0 = pIVar7;" (assignment_expression "pIStack_a0 = pIVar7" identifier = identifier) ;) (expression_statement "pIStack_a4 = (Image *)*puVar22;" (assignment_expression "pIStack_a4 = (Image *)*puVar22" identifier = (cast_expression "(Image *)*puVar22" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "puStack_f0 = puVar27;" (assignment_expression "puStack_f0 = puVar27" identifier = identifier) ;) (expression_statement "pIStack_98 = destination;" (assignment_expression "pIStack_98 = destination" identifier = identifier) ;) (expression_statement "PStack_90 = PVar3;" (assignment_expression "PStack_90 = PVar3" identifier = identifier) ;) (expression_statement "pPStack_8c = pPVar4;" (assignment_expression "pPStack_8c = pPVar4" identifier = identifier) ;) (expression_statement "sStack_88 = rows;" (assignment_expression "sStack_88 = rows" identifier = identifier) ;) (expression_statement "sStack_84 = columns;" (assignment_expression "sStack_84 = columns" identifier = identifier) ;) (expression_statement "pIStack_80 = unaff_s8;" (assignment_expression "pIStack_80 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_7c = pcVar28;" (assignment_expression "pcStack_7c = pcVar28" identifier = identifier) ;) (if_statement "if (pIVar20 == (Image *)0x0) {\nLAB_001c777c:\n    pIVar21 = destination;\n    pIVar20 = pIVar7;\n    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }" if (parenthesized_expression "(pIVar20 == (Image *)0x0)" ( (binary_expression "pIVar20 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c777c:\n    pIVar21 = destination;\n    pIVar20 = pIVar7;\n    pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }" { (labeled_statement "LAB_001c777c:\n    pIVar21 = destination;" statement_identifier : (expression_statement "pIVar21 = destination;" (assignment_expression "pIVar21 = destination" identifier = identifier) ;)) (expression_statement "pIVar20 = pIVar7;" (assignment_expression "pIVar20 = pIVar7" identifier = identifier) ;) (expression_statement "pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c);" (assignment_expression "pIVar12 = (Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(Image *)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);" (assignment_expression "pIVar7 = (Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" identifier = (cast_expression "(Image *)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(pIVar7,pIVar12,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }" else (compound_statement "{\n    if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }\n    if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (pIVar12 == (Image *)0x0) goto LAB_001c771c;\n    CVar6 = pIVar12->compression;\n    CVar11 = pIVar12->storage_class;\n    if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }\n    pIVar7 = pIStack_a4;\n    puVar27 = puStack_f0;\n    if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }\n  }" { (if_statement "if (pIVar20->signature != 0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }" if (parenthesized_expression "(pIVar20->signature != 0xabacadab)" ( (binary_expression "pIVar20->signature != 0xabacadab" (field_expression "pIVar20->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      pIVar7 = pIVar20;\n      goto LAB_001c777c;\n    }" { (labeled_statement "LAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pIVar7 = pIVar20;" (assignment_expression "pIVar7 = pIVar20" identifier = identifier) ;) (goto_statement "goto LAB_001c777c;" goto statement_identifier ;) })) (if_statement "if (pIVar20->debug != MagickFalse) {\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" if (parenthesized_expression "(pIVar20->debug != MagickFalse)" ( (binary_expression "pIVar20->debug != MagickFalse" (field_expression "pIVar20->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      pcStack_fc = pIVar20->filename;\n      pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" { (expression_statement "pcStack_fc = pIVar20->filename;" (assignment_expression "pcStack_fc = pIVar20->filename" identifier = (field_expression "pIVar20->filename" identifier -> field_identifier)) ;) (expression_statement "pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);" (assignment_expression "pIStack_100 = (Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" identifier = (cast_expression "(Image *)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (binary_expression "*(int *)(puVar25 + 0x1e183c) + -0x62ac" (pointer_expression "*(int *)(puVar25 + 0x1e183c)" * (cast_expression "(int *)(puVar25 + 0x1e183c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e183c)" ( (binary_expression "puVar25 + 0x1e183c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);" (call_expression "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" (parenthesized_expression "(**(code **)(puVar25 + 0x1e2138))" ( (pointer_expression "**(code **)(puVar25 + 0x1e2138)" * (pointer_expression "*(code **)(puVar25 + 0x1e2138)" * (cast_expression "(code **)(puVar25 + 0x1e2138)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2138)" ( (binary_expression "puVar25 + 0x1e2138" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" ( number_literal , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x288c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x262c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if (pIVar21 == (Image *)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }" if (parenthesized_expression "(pIVar21 == (Image *)0x0)" ( (binary_expression "pIVar21 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      exception = (ExceptionInfo *)pIVar12;\n      destination = pIVar21;\n      goto LAB_001c7758;\n    }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;" (call_expression "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x72a8))" ( (pointer_expression "**(code **)(puStack_f0 + -0x72a8)" * (pointer_expression "*(code **)(puStack_f0 + -0x72a8)" * (cast_expression "(code **)(puStack_f0 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x72a8)" ( (binary_expression "puStack_f0 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) , identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001c771c:\n      iVar17 = iVar17 + -0x2620;" statement_identifier : (expression_statement "iVar17 = iVar17 + -0x2620;" (assignment_expression "iVar17 = iVar17 + -0x2620" identifier = (binary_expression "iVar17 + -0x2620" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2874" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar5 + -0x288c" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(puVar27 + -0x7fd0)" * (cast_expression "(int *)(puVar27 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fd0)" ( (binary_expression "puVar27 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar17 + -0x2620" identifier + number_literal) ))) ;)) (expression_statement "exception = (ExceptionInfo *)pIVar12;" (assignment_expression "exception = (ExceptionInfo *)pIVar12" identifier = (cast_expression "(ExceptionInfo *)pIVar12" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "destination = pIVar21;" (assignment_expression "destination = pIVar21" identifier = identifier) ;) (goto_statement "goto LAB_001c7758;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (pIVar21->rows != 0xabacadab) goto LAB_001c7738;" if (parenthesized_expression "(pIVar21->rows != 0xabacadab)" ( (binary_expression "pIVar21->rows != 0xabacadab" (field_expression "pIVar21->rows" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_001c7738;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (pIVar12 == (Image *)0x0) goto LAB_001c771c;" if (parenthesized_expression "(pIVar12 == (Image *)0x0)" ( (binary_expression "pIVar12 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c771c;" goto statement_identifier ;)) (expression_statement "CVar6 = pIVar12->compression;" (assignment_expression "CVar6 = pIVar12->compression" identifier = (field_expression "pIVar12->compression" identifier -> field_identifier)) ;) (expression_statement "CVar11 = pIVar12->storage_class;" (assignment_expression "CVar11 = pIVar12->storage_class" identifier = (field_expression "pIVar12->storage_class" identifier -> field_identifier)) ;) (if_statement "if ((int)(CVar6 + CVar11) < 0) {\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }" if (parenthesized_expression "((int)(CVar6 + CVar11) < 0)" ( (binary_expression "(int)(CVar6 + CVar11) < 0" (cast_expression "(int)(CVar6 + CVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(CVar6 + CVar11)" ( (binary_expression "CVar6 + CVar11" identifier + identifier) ))) < number_literal) )) (compound_statement "{\nLAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      exception = (ExceptionInfo *)0x0;\n      pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pIStack_100 = (Image *)0x136;\n      pcStack_f4 = (char *)pIVar20;\n      (**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }" { (labeled_statement "LAB_001c7544:\n      pIVar20 = (Image *)pIVar20->filename;" statement_identifier : (expression_statement "pIVar20 = (Image *)pIVar20->filename;" (assignment_expression "pIVar20 = (Image *)pIVar20->filename" identifier = (cast_expression "(Image *)pIVar20->filename" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar20->filename" identifier -> field_identifier))) ;)) (expression_statement "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);" (assignment_expression "pIVar12 = (Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(Image *)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "exception = (ExceptionInfo *)0x0;" (assignment_expression "exception = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);" (assignment_expression "pcStack_fc = (char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" identifier = (cast_expression "(char *)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x16bc" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIStack_100 = (Image *)0x136;" (assignment_expression "pIStack_100 = (Image *)0x136" identifier = (cast_expression "(Image *)0x136" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_f4 = (char *)pIVar20;" (assignment_expression "pcStack_f4 = (char *)pIVar20" identifier = (cast_expression "(char *)pIVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);" (call_expression "(**(code **)(puStack_f0 + -0x7990))\n                (pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7990))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7990)" * (pointer_expression "*(code **)(puStack_f0 + -0x7990)" * (cast_expression "(code **)(puStack_f0 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7990)" ( (binary_expression "puStack_f0 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pIVar21,pIVar12,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" ( identifier , identifier , (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x262c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }" else (compound_statement "{\n      sVar9 = pIVar12->quality;\n      iVar5 = sVar9 + pIVar12->colorspace;\n      if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;\n      sVar13 = pIVar20->rows;\n      if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;\n      if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }\n      CStack_d0 = sVar13 - sVar9;\n      if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }\n      CStack_d4 = CVar11;\n      CStack_cc = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }\n      sStack_c8 = sVar9;\n      if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }\n      pIVar12 = (Image *)(sVar18 - CStack_d4);\n      pIStack_100 = pIVar21;\n      exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);\n      if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }\n    }" { (expression_statement "sVar9 = pIVar12->quality;" (assignment_expression "sVar9 = pIVar12->quality" identifier = (field_expression "pIVar12->quality" identifier -> field_identifier)) ;) (expression_statement "iVar5 = sVar9 + pIVar12->colorspace;" (assignment_expression "iVar5 = sVar9 + pIVar12->colorspace" identifier = (binary_expression "sVar9 + pIVar12->colorspace" identifier + (field_expression "pIVar12->colorspace" identifier -> field_identifier))) ;) (if_statement "if ((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)) goto LAB_001c7544;" if (parenthesized_expression "((iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6))" ( (binary_expression "(iVar5 < 0) || (sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)" (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) || (parenthesized_expression "(sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6)" ( (comma_expression "sVar18 = pIVar20->columns, (int)sVar18 < (int)CVar6" (assignment_expression "sVar18 = pIVar20->columns" identifier = (field_expression "pIVar20->columns" identifier -> field_identifier)) , (binary_expression "(int)sVar18 < (int)CVar6" (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)CVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (expression_statement "sVar13 = pIVar20->rows;" (assignment_expression "sVar13 = pIVar20->rows" identifier = (field_expression "pIVar20->rows" identifier -> field_identifier)) ;) (if_statement "if ((int)sVar13 < (int)sVar9) goto LAB_001c7544;" if (parenthesized_expression "((int)sVar13 < (int)sVar9)" ( (binary_expression "(int)sVar13 < (int)sVar9" (cast_expression "(int)sVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (if_statement "if ((int)sVar18 < (int)(CVar6 + CVar11)) {\n        CVar11 = sVar18 - CVar6;\n      }" if (parenthesized_expression "((int)sVar18 < (int)(CVar6 + CVar11))" ( (binary_expression "(int)sVar18 < (int)(CVar6 + CVar11)" (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(CVar6 + CVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(CVar6 + CVar11)" ( (binary_expression "CVar6 + CVar11" identifier + identifier) )))) )) (compound_statement "{\n        CVar11 = sVar18 - CVar6;\n      }" { (expression_statement "CVar11 = sVar18 - CVar6;" (assignment_expression "CVar11 = sVar18 - CVar6" identifier = (binary_expression "sVar18 - CVar6" identifier - identifier)) ;) })) (expression_statement "CStack_d0 = sVar13 - sVar9;" (assignment_expression "CStack_d0 = sVar13 - sVar9" identifier = (binary_expression "sVar13 - sVar9" identifier - identifier)) ;) (if_statement "if (iVar5 <= (int)sVar13) {\n        CStack_d0 = pIVar12->colorspace;\n      }" if (parenthesized_expression "(iVar5 <= (int)sVar13)" ( (binary_expression "iVar5 <= (int)sVar13" identifier <= (cast_expression "(int)sVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        CStack_d0 = pIVar12->colorspace;\n      }" { (expression_statement "CStack_d0 = pIVar12->colorspace;" (assignment_expression "CStack_d0 = pIVar12->colorspace" identifier = (field_expression "pIVar12->colorspace" identifier -> field_identifier)) ;) })) (expression_statement "CStack_d4 = CVar11;" (assignment_expression "CStack_d4 = CVar11" identifier = identifier) ;) (expression_statement "CStack_cc = CVar6;" (assignment_expression "CStack_cc = CVar6" identifier = identifier) ;) (if_statement "if ((int)CVar6 < 0) {\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }" if (parenthesized_expression "((int)CVar6 < 0)" ( (binary_expression "(int)CVar6 < 0" (cast_expression "(int)CVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        CStack_d4 = CVar11 + CVar6;\n        CStack_cc = UndefinedCompression;\n      }" { (expression_statement "CStack_d4 = CVar11 + CVar6;" (assignment_expression "CStack_d4 = CVar11 + CVar6" identifier = (binary_expression "CVar11 + CVar6" identifier + identifier)) ;) (expression_statement "CStack_cc = UndefinedCompression;" (assignment_expression "CStack_cc = UndefinedCompression" identifier = identifier) ;) })) (expression_statement "sStack_c8 = sVar9;" (assignment_expression "sStack_c8 = sVar9" identifier = identifier) ;) (if_statement "if ((int)sVar9 < 0) {\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }" if (parenthesized_expression "((int)sVar9 < 0)" ( (binary_expression "(int)sVar9 < 0" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        CStack_d0 = CStack_d0 + sVar9;\n        sStack_c8 = 0;\n      }" { (expression_statement "CStack_d0 = CStack_d0 + sVar9;" (assignment_expression "CStack_d0 = CStack_d0 + sVar9" identifier = (binary_expression "CStack_d0 + sVar9" identifier + identifier)) ;) (expression_statement "sStack_c8 = 0;" (assignment_expression "sStack_c8 = 0" identifier = number_literal) ;) })) (expression_statement "pIVar12 = (Image *)(sVar18 - CStack_d4);" (assignment_expression "pIVar12 = (Image *)(sVar18 - CStack_d4)" identifier = (cast_expression "(Image *)(sVar18 - CStack_d4)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 - CStack_d4)" ( (binary_expression "sVar18 - CStack_d4" identifier - identifier) )))) ;) (expression_statement "pIStack_100 = pIVar21;" (assignment_expression "pIStack_100 = pIVar21" identifier = identifier) ;) (expression_statement "exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1);" (assignment_expression "exception = (ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1)" identifier = (cast_expression "(ExceptionInfo *)\n                  (**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_f0 + -0x7080))(pIVar20,pIVar12,sVar13 - CStack_d0,1)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7080))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7080)" * (pointer_expression "*(code **)(puStack_f0 + -0x7080)" * (cast_expression "(code **)(puStack_f0 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7080)" ( (binary_expression "puStack_f0 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(pIVar20,pIVar12,sVar13 - CStack_d0,1)" ( identifier , identifier , (binary_expression "sVar13 - CStack_d0" identifier - identifier) , number_literal ))))) ;) (if_statement "if ((Image *)exception != (Image *)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }" if (parenthesized_expression "((Image *)exception != (Image *)0x0)" ( (binary_expression "(Image *)exception != (Image *)0x0" (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);\n        pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        columns = (size_t)&pIStack_c4;\n        rows = (size_t)&CStack_d4;\n        pIStack_a8 = (Image *)0x1;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)puStack_e4;\n        pIStack_ac = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);\n        unaff_s8 = pIStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pIStack_a8 = (Image *)puStack_e4;\n        pIStack_ac = unaff_s8;\n        pIVar12 = (Image *)columns;\n        pIStack_c4 = pIVar20;\n        pIStack_c0 = pIVar21;\n        pPStack_bc = pPVar4;\n        PStack_b8 = PVar3;\n        pIStack_b4 = (Image *)exception;\n        pIStack_b0 = (Image *)rows;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);\n        pIVar21 = pIStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(pPVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(PVar3);\n        ((Image *)exception)->type = pIVar20->type;\n        if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }\n      }" { (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "uStack_e0 = 0;" (assignment_expression "uStack_e0 = 0" identifier = number_literal) ;) (expression_statement "PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21);" (assignment_expression "PVar3 = (**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x715c))(pIVar20,pIVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x715c))" ( (pointer_expression "**(code **)(puStack_f0 + -0x715c)" * (pointer_expression "*(code **)(puStack_f0 + -0x715c)" * (cast_expression "(code **)(puStack_f0 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x715c)" ( (binary_expression "puStack_f0 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(pIVar20,pIVar21)" ( identifier , identifier )))) ;) (expression_statement "pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21);" (assignment_expression "pPVar4 = (PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21)" identifier = (cast_expression "(PixelInfo *)(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_f0 + -0x79dc))(exception,pIVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79dc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79dc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79dc)" * (cast_expression "(code **)(puStack_f0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79dc)" ( (binary_expression "puStack_f0 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(exception,pIVar21)" ( identifier , identifier ))))) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(exception)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(exception)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(exception)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(exception)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          sVar9 = sStack_c8;\n          if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }\n          if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar9 = sStack_c8;" (assignment_expression "sVar9 = sStack_c8" identifier = identifier) ;) (if_statement "if ((int)sStack_c8 < 0) {\n            sVar9 = sStack_c8 + 0x3f;\n          }" if (parenthesized_expression "((int)sStack_c8 < 0)" ( (binary_expression "(int)sStack_c8 < 0" (cast_expression "(int)sStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            sVar9 = sStack_c8 + 0x3f;\n          }" { (expression_statement "sVar9 = sStack_c8 + 0x3f;" (assignment_expression "sVar9 = sStack_c8 + 0x3f" identifier = (binary_expression "sStack_c8 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < (int)sVar9 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_04 < (int)sVar9 >> 6)" ( (binary_expression "extraout_v1_04 < (int)sVar9 >> 6" identifier < (binary_expression "(int)sVar9 >> 6" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_08 < 2;" (assignment_expression "bVar1 = extraout_v1_08 < 2" identifier = (binary_expression "extraout_v1_08 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = (int)sStack_c8 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = (int)sStack_c8 < 0x80;\n          }" { (expression_statement "bVar1 = (int)sStack_c8 < 0x80;" (assignment_expression "bVar1 = (int)sStack_c8 < 0x80" identifier = (binary_expression "(int)sStack_c8 < 0x80" (cast_expression "(int)sStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            sVar9 = sStack_c8;\n            if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }\n            iVar5 = (int)sVar9 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar9 = sStack_c8;" (assignment_expression "sVar9 = sStack_c8" identifier = identifier) ;) (if_statement "if ((int)sStack_c8 < 0) {\n              sVar9 = sStack_c8 + 0x3f;\n            }" if (parenthesized_expression "((int)sStack_c8 < 0)" ( (binary_expression "(int)sStack_c8 < 0" (cast_expression "(int)sStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              sVar9 = sStack_c8 + 0x3f;\n            }" { (expression_statement "sVar9 = sStack_c8 + 0x3f;" (assignment_expression "sVar9 = sStack_c8 + 0x3f" identifier = (binary_expression "sStack_c8 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = (int)sVar9 >> 6;" (assignment_expression "iVar5 = (int)sVar9 >> 6" identifier = (binary_expression "(int)sVar9 >> 6" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" if (parenthesized_expression "(extraout_v1_09 < iVar5)" ( (binary_expression "extraout_v1_09 < iVar5" identifier < identifier) )) (compound_statement "{\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c75c4;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" else (compound_statement "{\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c727c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" else (compound_statement "{\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" { (labeled_statement "LAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c7280:\n            uVar33 = (*pcVar28)(7);" statement_identifier : (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }" { (labeled_statement "LAB_001c75c4:\n              (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_07;" (assignment_expression "iVar5 = extraout_v1_07" identifier = identifier) ;) }) (else_clause "else {\n              iVar5 = 2;\n            }" else (compound_statement "{\n              iVar5 = 2;\n            }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) (expression_statement "puStack_e4 = &uStack_e0;" (assignment_expression "puStack_e4 = &uStack_e0" identifier = (pointer_expression "&uStack_e0" & identifier)) ;) (expression_statement "columns = (size_t)&pIStack_c4;" (assignment_expression "columns = (size_t)&pIStack_c4" identifier = (cast_expression "(size_t)&pIStack_c4" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&pIStack_c4" & identifier))) ;) (expression_statement "rows = (size_t)&CStack_d4;" (assignment_expression "rows = (size_t)&CStack_d4" identifier = (cast_expression "(size_t)&CStack_d4" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&CStack_d4" & identifier))) ;) (expression_statement "pIStack_a8 = (Image *)0x1;" (assignment_expression "pIStack_a8 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIStack_c4 = pIVar20;" (assignment_expression "pIStack_c4 = pIVar20" identifier = identifier) ;) (expression_statement "pIStack_c0 = pIVar21;" (assignment_expression "pIStack_c0 = pIVar21" identifier = identifier) ;) (expression_statement "pPStack_bc = pPVar4;" (assignment_expression "pPStack_bc = pPVar4" identifier = identifier) ;) (expression_statement "PStack_b8 = PVar3;" (assignment_expression "PStack_b8 = PVar3" identifier = identifier) ;) (expression_statement "pIStack_b4 = (Image *)exception;" (assignment_expression "pIStack_b4 = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_b0 = (Image *)puStack_e4;" (assignment_expression "pIStack_b0 = (Image *)puStack_e4" identifier = (cast_expression "(Image *)puStack_e4" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_ac = (Image *)rows;" (assignment_expression "pIStack_ac = (Image *)rows" identifier = (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,columns,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4ed8,columns,iVar5,0)" ( (binary_expression "iVar17 + 0x4ed8" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "unaff_s8 = pIStack_a8;" (assignment_expression "unaff_s8 = pIStack_a8" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)) &&\n           ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(exception)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(exception)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n            (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(exception)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(exception)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(exception)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0);" (assignment_expression "iVar17 = pIVar20->rows - (sStack_c8 + CStack_d0)" identifier = (binary_expression "pIVar20->rows - (sStack_c8 + CStack_d0)" (field_expression "pIVar20->rows" identifier -> field_identifier) - (parenthesized_expression "(sStack_c8 + CStack_d0)" ( (binary_expression "sStack_c8 + CStack_d0" identifier + identifier) )))) ;) (expression_statement "iVar5 = iVar17;" (assignment_expression "iVar5 = iVar17" identifier = identifier) ;) (if_statement "if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar5 = iVar17 + 0x3f;\n          }" { (expression_statement "iVar5 = iVar17 + 0x3f;" (assignment_expression "iVar5 = iVar17 + 0x3f" identifier = (binary_expression "iVar17 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar5 >> 6)" ( (binary_expression "extraout_v1_05 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar17 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar17 < 0x80;\n          }" { (expression_statement "bVar1 = iVar17 < 0x80;" (assignment_expression "bVar1 = iVar17 < 0x80" identifier = (binary_expression "iVar17 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0);" (assignment_expression "iVar5 = pIVar20->rows - (sStack_c8 + CStack_d0)" identifier = (binary_expression "pIVar20->rows - (sStack_c8 + CStack_d0)" (field_expression "pIVar20->rows" identifier -> field_identifier) - (parenthesized_expression "(sStack_c8 + CStack_d0)" ( (binary_expression "sStack_c8 + CStack_d0" identifier + identifier) )))) ;) (if_statement "if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar5 = iVar5 + 0x3f;\n            }" { (expression_statement "iVar5 = iVar5 + 0x3f;" (assignment_expression "iVar5 = iVar5 + 0x3f" identifier = (binary_expression "iVar5 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" identifier = (binary_expression "iVar5 >> 6" identifier >> number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_10 < iVar5) goto LAB_001c75a4;" if (parenthesized_expression "(extraout_v1_10 < iVar5)" ( (binary_expression "extraout_v1_10 < iVar5" identifier < identifier) )) (goto_statement "goto LAB_001c75a4;" goto statement_identifier ;)) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" { (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c732c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" else (compound_statement "{\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" { (labeled_statement "LAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }" { (labeled_statement "LAB_001c75a4:\n            (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_06;" (assignment_expression "iVar5 = extraout_v1_06" identifier = identifier) ;) }) (else_clause "else {\n            iVar5 = 2;\n          }" else (compound_statement "{\n            iVar5 = 2;\n          }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);" statement_identifier : (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;)) }))) (expression_statement "pIStack_a8 = (Image *)puStack_e4;" (assignment_expression "pIStack_a8 = (Image *)puStack_e4" identifier = (cast_expression "(Image *)puStack_e4" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_ac = unaff_s8;" (assignment_expression "pIStack_ac = unaff_s8" identifier = identifier) ;) (expression_statement "pIVar12 = (Image *)columns;" (assignment_expression "pIVar12 = (Image *)columns" identifier = (cast_expression "(Image *)columns" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_c4 = pIVar20;" (assignment_expression "pIStack_c4 = pIVar20" identifier = identifier) ;) (expression_statement "pIStack_c0 = pIVar21;" (assignment_expression "pIStack_c0 = pIVar21" identifier = identifier) ;) (expression_statement "pPStack_bc = pPVar4;" (assignment_expression "pPStack_bc = pPVar4" identifier = identifier) ;) (expression_statement "PStack_b8 = PVar3;" (assignment_expression "PStack_b8 = PVar3" identifier = identifier) ;) (expression_statement "pIStack_b4 = (Image *)exception;" (assignment_expression "pIStack_b4 = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_b0 = (Image *)rows;" (assignment_expression "pIStack_b0 = (Image *)rows" identifier = (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,columns,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4bf0,columns,iVar5,0)" ( (binary_expression "iVar17 + 0x4bf0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "pIVar21 = pIStack_ac;" (assignment_expression "pIVar21 = pIStack_ac" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(pPVar4);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(pPVar4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(pPVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(PVar3);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(PVar3)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(PVar3)" ( identifier ))) ;) (expression_statement "((Image *)exception)->type = pIVar20->type;" (assignment_expression "((Image *)exception)->type = pIVar20->type" (field_expression "((Image *)exception)->type" (parenthesized_expression "((Image *)exception)" ( (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = (field_expression "pIVar20->type" identifier -> field_identifier)) ;) (if_statement "if (pIVar21 == (Image *)0x0) {\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }" if (parenthesized_expression "(pIVar21 == (Image *)0x0)" ( (binary_expression "pIVar21 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);\n        }" { (expression_statement "exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception);" (assignment_expression "exception = (ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception)" identifier = (cast_expression "(ExceptionInfo *)(**(code **)(puStack_f0 + -0x7964))(exception)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_f0 + -0x7964))(exception)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7964))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7964)" * (pointer_expression "*(code **)(puStack_f0 + -0x7964)" * (cast_expression "(code **)(puStack_f0 + -0x7964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7964)" ( (binary_expression "puStack_f0 + -0x7964" identifier + number_literal) ))))) )) (argument_list "(exception)" ( identifier ))))) ;) })) })) }))) (expression_statement "pIVar7 = pIStack_a4;" (assignment_expression "pIVar7 = pIStack_a4" identifier = identifier) ;) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if (pIStack_a4 == (Image *)*puVar22) {\n      return (MagickBooleanType)(Image *)exception;\n    }" if (parenthesized_expression "(pIStack_a4 == (Image *)*puVar22)" ( (binary_expression "pIStack_a4 == (Image *)*puVar22" identifier == (cast_expression "(Image *)*puVar22" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) )) (compound_statement "{\n      return (MagickBooleanType)(Image *)exception;\n    }" { (return_statement "return (MagickBooleanType)(Image *)exception;" return (cast_expression "(MagickBooleanType)(Image *)exception" ( (type_descriptor "MagickBooleanType" type_identifier) ) (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) (expression_statement "pcVar26 = *(code **)(puVar27 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(puVar27 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar27 + -0x784c)" * (cast_expression "(code **)(puVar27 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x784c)" ( (binary_expression "puVar27 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = ConsolidateCMYKImages;" (assignment_expression "pcVar29 = ConsolidateCMYKImages" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar28 = pcVar26 + 0x1e9104;" (assignment_expression "pcVar28 = pcVar26 + 0x1e9104" identifier = (binary_expression "pcVar26 + 0x1e9104" identifier + number_literal)) ;) (expression_statement "pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84);" (assignment_expression "pCStack_14c = *(ClassType **)(pcVar26 + 0x1e1a84)" identifier = (pointer_expression "*(ClassType **)(pcVar26 + 0x1e1a84)" * (cast_expression "(ClassType **)(pcVar26 + 0x1e1a84)" ( (type_descriptor "ClassType **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a84)" ( (binary_expression "pcVar26 + 0x1e1a84" identifier + number_literal) ))))) ;) (expression_statement "pIVar14 = (Image *)&DAT_000001b4;" (assignment_expression "pIVar14 = (Image *)&DAT_000001b4" identifier = (cast_expression "(Image *)&DAT_000001b4" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001b4" & identifier))) ;) (expression_statement "CStack_144 = *pCStack_14c;" (assignment_expression "CStack_144 = *pCStack_14c" identifier = (pointer_expression "*pCStack_14c" * identifier)) ;) (expression_statement "pcStack_168 = pcVar28;" (assignment_expression "pcStack_168 = pcVar28" identifier = identifier) ;) (expression_statement "pIStack_158 = pIVar12;" (assignment_expression "pIStack_158 = pIVar12" identifier = identifier) ;) (expression_statement "pIStack_140 = pIVar20;" (assignment_expression "pIStack_140 = pIVar20" identifier = identifier) ;) (expression_statement "pIStack_13c = (Image *)exception;" (assignment_expression "pIStack_13c = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_138 = pIVar21;" (assignment_expression "pIStack_138 = pIVar21" identifier = identifier) ;) (expression_statement "puStack_134 = puVar22;" (assignment_expression "puStack_134 = puVar22" identifier = identifier) ;) (expression_statement "PStack_130 = PVar3;" (assignment_expression "PStack_130 = PVar3" identifier = identifier) ;) (expression_statement "pPStack_12c = pPVar4;" (assignment_expression "pPStack_12c = pPVar4" identifier = identifier) ;) (expression_statement "pIStack_128 = (Image *)rows;" (assignment_expression "pIStack_128 = (Image *)rows" identifier = (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_124 = (Image *)columns;" (assignment_expression "pIStack_124 = (Image *)columns" identifier = (cast_expression "(Image *)columns" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_120 = unaff_s8;" (assignment_expression "pIStack_120 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_11c = pcVar29;" (assignment_expression "pcStack_11c = pcVar29" identifier = identifier) ;) (if_statement "if (pIVar7 == (Image *)0x0) {\nLAB_001c7c28:\n    pIVar7 = (Image *)columns;\n    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }" if (parenthesized_expression "(pIVar7 == (Image *)0x0)" ( (binary_expression "pIVar7 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c7c28:\n    pIVar7 = (Image *)columns;\n    pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;\n    (**(code **)(pcVar28 + -0x72a8))();\n  }" { (labeled_statement "LAB_001c7c28:\n    pIVar7 = (Image *)columns;" statement_identifier : (expression_statement "pIVar7 = (Image *)columns;" (assignment_expression "pIVar7 = (Image *)columns" identifier = (cast_expression "(Image *)columns" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);" (assignment_expression "pIVar12 = (Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(Image *)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48;" (assignment_expression "CVar11 = *(int *)(pcVar28 + -0x7fd0) + 0x1e48" identifier = (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1e48" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar28 + -0x72a8))();" (call_expression "(**(code **)(pcVar28 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }" else (compound_statement "{\n    if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }\n    if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;\n    if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;\n    MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }\n    CVar11 = CStack_144;\n    pcVar28 = pcStack_168;\n    if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }\n  }" { (if_statement "if (pIVar7->signature != 0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }" if (parenthesized_expression "(pIVar7->signature != 0xabacadab)" ( (binary_expression "pIVar7->signature != 0xabacadab" (field_expression "pIVar7->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;\n      columns = (size_t)pIVar7;\n      goto LAB_001c7c28;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);" (call_expression "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1e5c))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1e5c)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1e5c)" * (cast_expression "(code **)(pcVar26 + 0x1e1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1e5c)" ( (binary_expression "pcVar26 + 0x1e1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1134) + 0x1e64" (pointer_expression "*(int *)(pcVar26 + 0x1e1134)" * (cast_expression "(int *)(pcVar26 + 0x1e1134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1134)" ( (binary_expression "pcVar26 + 0x1e1134" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x2644" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c24:\n      pIVar14 = (Image *)0x1c0;" statement_identifier : (expression_statement "pIVar14 = (Image *)0x1c0;" (assignment_expression "pIVar14 = (Image *)0x1c0" identifier = (cast_expression "(Image *)0x1c0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "columns = (size_t)pIVar7;" (assignment_expression "columns = (size_t)pIVar7" identifier = (cast_expression "(size_t)pIVar7" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_001c7c28;" goto statement_identifier ;) })) (if_statement "if (pIVar7->debug != MagickFalse) {\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }" if (parenthesized_expression "(pIVar7->debug != MagickFalse)" ( (binary_expression "pIVar7->debug != MagickFalse" (field_expression "pIVar7->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      pIStack_16c = (Image *)pIVar7->filename;\n      pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);\n    }" { (expression_statement "pIStack_16c = (Image *)pIVar7->filename;" (assignment_expression "pIStack_16c = (Image *)pIVar7->filename" identifier = (cast_expression "(Image *)pIVar7->filename" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->filename" identifier -> field_identifier))) ;) (expression_statement "pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);" (assignment_expression "pIVar14 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" identifier = (cast_expression "(Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x265c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);" (assignment_expression "pIVar12 = (Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" identifier = (cast_expression "(Image *)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);" (assignment_expression "pIStack_170 = (Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" identifier = (cast_expression "(Image *)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1138) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x1e1138)" * (cast_expression "(int *)(pcVar26 + 0x1e1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1138)" ( (binary_expression "pcVar26 + 0x1e1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7);" (call_expression "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,pIVar12,pIVar14,0x1b7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1a34))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1a34)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1a34)" * (cast_expression "(code **)(pcVar26 + 0x1e1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a34)" ( (binary_expression "pcVar26 + 0x1e1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,pIVar12,pIVar14,0x1b7)" ( number_literal , identifier , identifier , number_literal ))) ;) })) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if (pIStack_158 == (Image *)0x0) goto LAB_001c7bdc;" if (parenthesized_expression "(pIStack_158 == (Image *)0x0)" ( (binary_expression "pIStack_158 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c7bdc;" goto statement_identifier ;)) (if_statement "if (pIStack_158->rows != 0xabacadab) goto LAB_001c7c00;" if (parenthesized_expression "(pIStack_158->rows != 0xabacadab)" ( (binary_expression "pIStack_158->rows != 0xabacadab" (field_expression "pIStack_158->rows" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_001c7c00;" goto statement_identifier ;)) (expression_statement "MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))();" (assignment_expression "MStack_148 = (**(code **)(pcStack_168 + -0x7a2c))()" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7a2c))()" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a2c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a2c)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a2c)" * (cast_expression "(code **)(pcStack_168 + -0x7a2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a2c)" ( (binary_expression "pcStack_168 + -0x7a2c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_168 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_168 + -0x7fd0)" * (cast_expression "(int *)(pcStack_168 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_168 + -0x7fd0)" ( (binary_expression "pcStack_168 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(pIVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }" if (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) (compound_statement "{\n      do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);\n    }" { (do_statement "do {\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      } while (iStack_150 < iVar5);" do (compound_statement "{\n        pcVar28 = pcStack_168;\n        if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;\n        pIVar14 = (Image *)0x0;\n        pIVar12 = (Image *)0x0;\n        pIStack_170 = pIStack_158;\n        rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);\n        pIVar15 = pIStack_158;\n        if ((Image *)rows == (Image *)0x0) break;\n        pIVar12 = (Image *)0x1;\n        pIVar14 = pIStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);\n        pIVar20 = pIVar15;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(rows,2);\n        pIVar20 = (Image *)0x0;\n        pIVar14 = pIVar15;\n        do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        pIVar12 = (Image *)rows;\n        (**(code **)(pcStack_168 + -0x7030))(&MStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);\n      }" { (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if (pIVar7 == (Image *)0x0) goto LAB_001c7c24;" if (parenthesized_expression "(pIVar7 == (Image *)0x0)" ( (binary_expression "pIVar7 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c7c24;" goto statement_identifier ;)) (expression_statement "pIVar14 = (Image *)0x0;" (assignment_expression "pIVar14 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar12 = (Image *)0x0;" (assignment_expression "pIVar12 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIStack_170 = pIStack_158;" (assignment_expression "pIStack_170 = pIStack_158" identifier = identifier) ;) (expression_statement "rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1);" (assignment_expression "rows = (**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7080))(pIVar7,0,0,1)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7080))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7080)" * (pointer_expression "*(code **)(pcStack_168 + -0x7080)" * (cast_expression "(code **)(pcStack_168 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7080)" ( (binary_expression "pcStack_168 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(pIVar7,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "pIVar15 = pIStack_158;" (assignment_expression "pIVar15 = pIStack_158" identifier = identifier) ;) (if_statement "if ((Image *)rows == (Image *)0x0) break;" if (parenthesized_expression "((Image *)rows == (Image *)0x0)" ( (binary_expression "(Image *)rows == (Image *)0x0" (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pIVar12 = (Image *)0x1;" (assignment_expression "pIVar12 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar14 = pIStack_158;" (assignment_expression "pIVar14 = pIStack_158" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x708c))(rows)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x708c))(rows)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x708c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x708c)" * (pointer_expression "*(code **)(pcStack_168 + -0x708c)" * (cast_expression "(code **)(pcStack_168 + -0x708c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x708c)" ( (binary_expression "pcStack_168 + -0x708c" identifier + number_literal) ))))) )) (argument_list "(rows)" ( identifier )))) ;) (expression_statement "pIVar20 = pIVar15;" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(pcStack_168 + -0x7b70))(rows,2);" (call_expression "(**(code **)(pcStack_168 + -0x7b70))(rows,2)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_168 + -0x7b70)" * (cast_expression "(code **)(pcStack_168 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7b70)" ( (binary_expression "pcStack_168 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(rows,2)" ( identifier , number_literal ))) ;) (expression_statement "pIVar20 = (Image *)0x0;" (assignment_expression "pIVar20 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar14 = pIVar15;" (assignment_expression "pIVar14 = pIVar15" identifier = identifier) ;) (do_statement "do {\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        } while ((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004));" do (compound_statement "{\n          exception = (ExceptionInfo *)pIStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);\n          if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);\n        }" { (expression_statement "exception = (ExceptionInfo *)pIStack_158;" (assignment_expression "exception = (ExceptionInfo *)pIStack_158" identifier = (cast_expression "(ExceptionInfo *)pIStack_158" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158);" (assignment_expression "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x715c))(pIVar7,pIStack_158)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x715c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x715c)" * (pointer_expression "*(code **)(pcStack_168 + -0x715c)" * (cast_expression "(code **)(pcStack_168 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x715c)" ( (binary_expression "pcStack_168 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(pIVar7,pIStack_158)" ( identifier , identifier )))) ;) (expression_statement "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception);" (assignment_expression "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(rows,exception)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x79dc))(rows,exception)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79dc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79dc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79dc)" * (cast_expression "(code **)(pcStack_168 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79dc)" ( (binary_expression "pcStack_168 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(rows,exception)" ( identifier , identifier )))) ;) (if_statement "if (0 < (int)pIVar7->rows) {\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }" if (parenthesized_expression "(0 < (int)pIVar7->rows)" ( (binary_expression "0 < (int)pIVar7->rows" number_literal < (cast_expression "(int)pIVar7->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->rows" identifier -> field_identifier))) )) (compound_statement "{\n            pIVar21 = (Image *)0x0;\n            while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }\n          }" { (expression_statement "pIVar21 = (Image *)0x0;" (assignment_expression "pIVar21 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              exception = (ExceptionInfo *)pIStack_158;\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = pIStack_158;\n              PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);\n              pIStack_170 = (Image *)0x1;\n              pIStack_16c = (Image *)exception;\n              pIVar14 = pIVar21;\n              puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);\n              if (PVar3 == UndefinedPixelTrait) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pIStack_158);\n              if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;\n            }" { (expression_statement "exception = (ExceptionInfo *)pIStack_158;" (assignment_expression "exception = (ExceptionInfo *)pIStack_158" identifier = (cast_expression "(ExceptionInfo *)pIStack_158" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_170 = (Image *)0x1;" (assignment_expression "pIStack_170 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIStack_16c = pIStack_158;" (assignment_expression "pIStack_16c = pIStack_158" identifier = identifier) ;) (expression_statement "PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns);" (assignment_expression "PVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7254))(uStack_154,0,pIVar21,pIVar7->columns)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7254))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7254)" * (pointer_expression "*(code **)(pcStack_168 + -0x7254)" * (cast_expression "(code **)(pcStack_168 + -0x7254)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7254)" ( (binary_expression "pcStack_168 + -0x7254" identifier + number_literal) ))))) )) (argument_list "(uStack_154,0,pIVar21,pIVar7->columns)" ( identifier , number_literal , identifier , (field_expression "pIVar7->columns" identifier -> field_identifier) )))) ;) (expression_statement "pIStack_170 = (Image *)0x1;" (assignment_expression "pIStack_170 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIStack_16c = (Image *)exception;" (assignment_expression "pIStack_16c = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIVar14 = pIVar21;" (assignment_expression "pIVar14 = pIVar21" identifier = identifier) ;) (expression_statement "puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns);" (assignment_expression "puVar22 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns)" identifier = (cast_expression "(undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_168 + -0x7c60))\n                                  (uStack_15c,0,pIVar21,((Image *)rows)->columns)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7c60))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7c60)" * (pointer_expression "*(code **)(pcStack_168 + -0x7c60)" * (cast_expression "(code **)(pcStack_168 + -0x7c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7c60)" ( (binary_expression "pcStack_168 + -0x7c60" identifier + number_literal) ))))) )) (argument_list "(uStack_15c,0,pIVar21,((Image *)rows)->columns)" ( identifier , number_literal , identifier , (field_expression "((Image *)rows)->columns" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) ))))) ;) (if_statement "if (PVar3 == UndefinedPixelTrait) break;" if (parenthesized_expression "(PVar3 == UndefinedPixelTrait)" ( (binary_expression "PVar3 == UndefinedPixelTrait" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 == (undefined4 *)0x0) goto LAB_001c7ab8;" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c7ab8;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)pIVar7->columns) {\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" if (parenthesized_expression "(0 < (int)pIVar7->columns)" ( (binary_expression "0 < (int)pIVar7->columns" number_literal < (cast_expression "(int)pIVar7->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->columns" identifier -> field_identifier))) )) (compound_statement "{\n                exception = (ExceptionInfo *)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);\nLAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" { (expression_statement "exception = (ExceptionInfo *)0x2;" (assignment_expression "exception = (ExceptionInfo *)0x2" identifier = (cast_expression "(ExceptionInfo *)0x2" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                } while (iVar17 + 1 < (int)pIVar7->columns);" do (compound_statement "{\n                  while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }\n                  if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }\n                  PVar3 = PVar3 + pIVar7->number_channels * 4;\n                  puVar22 = puVar22 + ((Image *)rows)->number_channels;\n                  iVar5 = iVar17 + 1;\n                }" { (while_statement "while( true ) {\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    iVar17 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (pIVar20 != (Image *)0x2) break;\n                    sVar9 = ((Image *)rows)->number_channels;\n                    PVar3 = PVar3 + pIVar7->number_channels * 4;\n                    puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;\n                    puVar22 = puVar22 + sVar9;\n                    iVar5 = iVar17 + 1;\n                    if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;\n                  }" { (expression_statement "iVar17 = iVar5;" (assignment_expression "iVar17 = iVar5" identifier = identifier) ;) (expression_statement "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3);" (assignment_expression "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3)" identifier = (cast_expression "(double)(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_168 + -0x7a58))(pIVar7,PVar3)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a58))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a58)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a58)" * (cast_expression "(code **)(pcStack_168 + -0x7a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a58)" ( (binary_expression "pcStack_168 + -0x7a58" identifier + number_literal) ))))) )) (argument_list "(pIVar7,PVar3)" ( identifier , identifier ))))) ;) (expression_statement "fVar31 = (float)(dVar32 - dVar30);" (assignment_expression "fVar31 = (float)(dVar32 - dVar30)" identifier = (cast_expression "(float)(dVar32 - dVar30)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(dVar32 - dVar30)" ( (binary_expression "dVar32 - dVar30" identifier - identifier) )))) ;) (if_statement "if (pIVar20 != (Image *)0x2) break;" if (parenthesized_expression "(pIVar20 != (Image *)0x2)" ( (binary_expression "pIVar20 != (Image *)0x2" identifier != (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar9 = ((Image *)rows)->number_channels;" (assignment_expression "sVar9 = ((Image *)rows)->number_channels" identifier = (field_expression "((Image *)rows)->number_channels" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "PVar3 = PVar3 + pIVar7->number_channels * 4;" (assignment_expression "PVar3 = PVar3 + pIVar7->number_channels * 4" identifier = (binary_expression "PVar3 + pIVar7->number_channels * 4" identifier + (binary_expression "pIVar7->number_channels * 4" (field_expression "pIVar7->number_channels" identifier -> field_identifier) * number_literal))) ;) (expression_statement "puVar22[((Image *)rows)->channel_map[2].offset] = fVar31;" (assignment_expression "puVar22[((Image *)rows)->channel_map[2].offset] = fVar31" (subscript_expression "puVar22[((Image *)rows)->channel_map[2].offset]" identifier [ (field_expression "((Image *)rows)->channel_map[2].offset" (subscript_expression "((Image *)rows)->channel_map[2]" (field_expression "((Image *)rows)->channel_map" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) ]) = identifier) ;) (expression_statement "puVar22 = puVar22 + sVar9;" (assignment_expression "puVar22 = puVar22 + sVar9" identifier = (binary_expression "puVar22 + sVar9" identifier + identifier)) ;) (expression_statement "iVar5 = iVar17 + 1;" (assignment_expression "iVar5 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (if_statement "if ((int)pIVar7->columns <= iVar17 + 1) goto LAB_001c7a88;" if (parenthesized_expression "((int)pIVar7->columns <= iVar17 + 1)" ( (binary_expression "(int)pIVar7->columns <= iVar17 + 1" (cast_expression "(int)pIVar7->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->columns" identifier -> field_identifier)) <= (binary_expression "iVar17 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_001c7a88;" goto statement_identifier ;)) })) (if_statement "if (pIVar20 == (Image *)0x3) {\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }\n                  else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }" if (parenthesized_expression "(pIVar20 == (Image *)0x3)" ( (binary_expression "pIVar20 == (Image *)0x3" identifier == (cast_expression "(Image *)0x3" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }\n                  }" { (if_statement "if (((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait) {\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }" if (parenthesized_expression "(((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait)" ( (binary_expression "((Image *)rows)->channel_map[3].traits != UndefinedPixelTrait" (field_expression "((Image *)rows)->channel_map[3].traits" (subscript_expression "((Image *)rows)->channel_map[3]" (field_expression "((Image *)rows)->channel_map" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                      puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;\n                    }" { (expression_statement "puVar22[((Image *)rows)->channel_map[3].offset] = fVar31;" (assignment_expression "puVar22[((Image *)rows)->channel_map[3].offset] = fVar31" (subscript_expression "puVar22[((Image *)rows)->channel_map[3].offset]" identifier [ (field_expression "((Image *)rows)->channel_map[3].offset" (subscript_expression "((Image *)rows)->channel_map[3]" (field_expression "((Image *)rows)->channel_map" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) ]) = identifier) ;) })) }) (else_clause "else if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }" else (if_statement "if (pIVar20 == (Image *)0x1) {\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }\n                  else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }" if (parenthesized_expression "(pIVar20 == (Image *)0x1)" ( (binary_expression "pIVar20 == (Image *)0x1" identifier == (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;\n                  }" { (expression_statement "puVar22[((Image *)rows)->channel_map[1].offset] = fVar31;" (assignment_expression "puVar22[((Image *)rows)->channel_map[1].offset] = fVar31" (subscript_expression "puVar22[((Image *)rows)->channel_map[1].offset]" identifier [ (field_expression "((Image *)rows)->channel_map[1].offset" (subscript_expression "((Image *)rows)->channel_map[1]" (field_expression "((Image *)rows)->channel_map" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) ]) = identifier) ;) }) (else_clause "else {\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }" else (compound_statement "{\n                    puVar22[((Image *)rows)->channel_map->offset] = fVar31;\n                  }" { (expression_statement "puVar22[((Image *)rows)->channel_map->offset] = fVar31;" (assignment_expression "puVar22[((Image *)rows)->channel_map->offset] = fVar31" (subscript_expression "puVar22[((Image *)rows)->channel_map->offset]" identifier [ (field_expression "((Image *)rows)->channel_map->offset" (field_expression "((Image *)rows)->channel_map" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) -> field_identifier) ]) = identifier) ;) }))))) (expression_statement "PVar3 = PVar3 + pIVar7->number_channels * 4;" (assignment_expression "PVar3 = PVar3 + pIVar7->number_channels * 4" identifier = (binary_expression "PVar3 + pIVar7->number_channels * 4" identifier + (binary_expression "pIVar7->number_channels * 4" (field_expression "pIVar7->number_channels" identifier -> field_identifier) * number_literal))) ;) (expression_statement "puVar22 = puVar22 + ((Image *)rows)->number_channels;" (assignment_expression "puVar22 = puVar22 + ((Image *)rows)->number_channels" identifier = (binary_expression "puVar22 + ((Image *)rows)->number_channels" identifier + (field_expression "((Image *)rows)->number_channels" (parenthesized_expression "((Image *)rows)" ( (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "iVar5 = iVar17 + 1;" (assignment_expression "iVar5 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 + 1 < (int)pIVar7->columns)" ( (binary_expression "iVar17 + 1 < (int)pIVar7->columns" (binary_expression "iVar17 + 1" identifier + number_literal) < (cast_expression "(int)pIVar7->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->columns" identifier -> field_identifier))) )) ;) (labeled_statement "LAB_001c7a88:\n                pPVar4 = (PixelInfo *)(iVar17 + 1);" statement_identifier : (expression_statement "pPVar4 = (PixelInfo *)(iVar17 + 1);" (assignment_expression "pPVar4 = (PixelInfo *)(iVar17 + 1)" identifier = (cast_expression "(PixelInfo *)(iVar17 + 1)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 1)" ( (binary_expression "iVar17 + 1" identifier + number_literal) )))) ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) })) (expression_statement "iVar5 = (*pcVar28)(uStack_15c,pIStack_158);" (assignment_expression "iVar5 = (*pcVar28)(uStack_15c,pIStack_158)" identifier = (call_expression "(*pcVar28)(uStack_15c,pIStack_158)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c,pIStack_158)" ( identifier , identifier )))) ;) (if_statement "if ((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)) break;" if (parenthesized_expression "((iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21))" ( (binary_expression "(iVar5 == 0) ||\n                 (pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21)" ( (comma_expression "pIVar21 = (Image *)((int)&pIVar21->storage_class + 1),\n                 (int)pIVar7->rows <= (int)pIVar21" (assignment_expression "pIVar21 = (Image *)((int)&pIVar21->storage_class + 1)" identifier = (cast_expression "(Image *)((int)&pIVar21->storage_class + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar21->storage_class + 1)" ( (binary_expression "(int)&pIVar21->storage_class + 1" (cast_expression "(int)&pIVar21->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar21->storage_class" & (field_expression "pIVar21->storage_class" identifier -> field_identifier))) + number_literal) )))) , (binary_expression "(int)pIVar7->rows <= (int)pIVar21" (cast_expression "(int)pIVar7->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->rows" identifier -> field_identifier)) <= (cast_expression "(int)pIVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7ab8:\n          (*pcVar28)(uStack_15c);" statement_identifier : (expression_statement "(*pcVar28)(uStack_15c);" (call_expression "(*pcVar28)(uStack_15c)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_168 + -0x79bc))(uStack_154);" (call_expression "(**(code **)(pcStack_168 + -0x79bc))(uStack_154)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uStack_154)" ( identifier ))) ;) (expression_statement "pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7);" (assignment_expression "pIVar7 = (Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7)" identifier = (cast_expression "(Image *)(**(code **)(pcStack_168 + -0x7440))(pIVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_168 + -0x7440))(pIVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7440)" * (pointer_expression "*(code **)(pcStack_168 + -0x7440)" * (cast_expression "(code **)(pcStack_168 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7440)" ( (binary_expression "pcStack_168 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(pIVar7)" ( identifier ))))) ;) }) while (parenthesized_expression "((pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004))" ( (binary_expression "(pIVar7 != (Image *)0x0) &&\n                (pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004)" (parenthesized_expression "(pIVar7 != (Image *)0x0)" ( (binary_expression "pIVar7 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004)" ( (comma_expression "pIVar20 = (Image *)((int)&pIVar20->storage_class + 1),\n                pIVar20 != (Image *)&DAT_00000004" (assignment_expression "pIVar20 = (Image *)((int)&pIVar20->storage_class + 1)" identifier = (cast_expression "(Image *)((int)&pIVar20->storage_class + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar20->storage_class + 1)" ( (binary_expression "(int)&pIVar20->storage_class + 1" (cast_expression "(int)&pIVar20->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar20->storage_class" & (field_expression "pIVar20->storage_class" identifier -> field_identifier))) + number_literal) )))) , (binary_expression "pIVar20 != (Image *)&DAT_00000004" identifier != (cast_expression "(Image *)&DAT_00000004" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier)))) ))) )) ;) (expression_statement "iStack_150 = iStack_150 + 4;" (assignment_expression "iStack_150 = iStack_150 + 4" identifier = (binary_expression "iStack_150 + 4" identifier + number_literal)) ;) (expression_statement "pIVar12 = (Image *)rows;" (assignment_expression "pIVar12 = (Image *)rows" identifier = (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(pcStack_168 + -0x7030))(&MStack_148);" (call_expression "(**(code **)(pcStack_168 + -0x7030))(&MStack_148)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7030))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7030)" * (pointer_expression "*(code **)(pcStack_168 + -0x7030)" * (cast_expression "(code **)(pcStack_168 + -0x7030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7030)" ( (binary_expression "pcStack_168 + -0x7030" identifier + number_literal) ))))) )) (argument_list "(&MStack_148)" ( (pointer_expression "&MStack_148" & identifier) ))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(pIVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(pIVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(pIVar7)" ( identifier )))) ;) }) while (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) ;) })) (expression_statement "CVar11 = CStack_144;" (assignment_expression "CVar11 = CStack_144" identifier = identifier) ;) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if (CStack_144 == *pCStack_14c) {\n      return MStack_148;\n    }" if (parenthesized_expression "(CStack_144 == *pCStack_14c)" ( (binary_expression "CStack_144 == *pCStack_14c" identifier == (pointer_expression "*pCStack_14c" * identifier)) )) (compound_statement "{\n      return MStack_148;\n    }" { (return_statement "return MStack_148;" return identifier ;) })) }))) (expression_statement "pcVar28 = *(code **)(pcVar28 + -0x784c);" (assignment_expression "pcVar28 = *(code **)(pcVar28 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar28 + -0x784c)" * (cast_expression "(code **)(pcVar28 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x784c)" ( (binary_expression "pcVar28 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = CropImage;" (assignment_expression "pcVar26 = CropImage" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "psVar23 = *(size_t **)(pcVar28 + 0x1e15dc);" (assignment_expression "psVar23 = *(size_t **)(pcVar28 + 0x1e15dc)" identifier = (pointer_expression "*(size_t **)(pcVar28 + 0x1e15dc)" * (cast_expression "(size_t **)(pcVar28 + 0x1e15dc)" ( (type_descriptor "size_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e15dc)" ( (binary_expression "pcVar28 + 0x1e15dc" identifier + number_literal) ))))) ;) (expression_statement "sStack_1ac = *psVar23;" (assignment_expression "sStack_1ac = *psVar23" identifier = (pointer_expression "*psVar23" * identifier)) ;) (expression_statement "pIStack_1a4 = pIVar20;" (assignment_expression "pIStack_1a4 = pIVar20" identifier = identifier) ;) (expression_statement "pIStack_1a0 = (Image *)exception;" (assignment_expression "pIStack_1a0 = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_19c = pIVar21;" (assignment_expression "pIStack_19c = pIVar21" identifier = identifier) ;) (expression_statement "puStack_198 = puVar22;" (assignment_expression "puStack_198 = puVar22" identifier = identifier) ;) (expression_statement "PStack_194 = PVar3;" (assignment_expression "PStack_194 = PVar3" identifier = identifier) ;) (expression_statement "pPStack_190 = pPVar4;" (assignment_expression "pPStack_190 = pPVar4" identifier = identifier) ;) (expression_statement "pIStack_18c = (Image *)rows;" (assignment_expression "pIStack_18c = (Image *)rows" identifier = (cast_expression "(Image *)rows" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIStack_188 = pIVar7;" (assignment_expression "pIStack_188 = pIVar7" identifier = identifier) ;) (expression_statement "pcStack_184 = pcVar26;" (assignment_expression "pcStack_184 = pcVar26" identifier = identifier) ;) (if_statement "if (CVar11 == UndefinedClass) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }" if (parenthesized_expression "(CVar11 == UndefinedClass)" ( (binary_expression "CVar11 == UndefinedClass" identifier == identifier) )) (compound_statement "{\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }" { (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x238,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x37b0" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar8;" return identifier ;) })) (if_statement "if (*(int *)(CVar11 + 0x336c) != -0x54535255) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }" if (parenthesized_expression "(*(int *)(CVar11 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(CVar11 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(CVar11 + 0x336c)" * (cast_expression "(int *)(CVar11 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x336c)" ( (binary_expression "CVar11 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return MVar8;\n  }" { (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x3784,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x239,*(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x3784" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar8;" return identifier ;) })) (if_statement "if (*(int *)(CVar11 + 0x3350) != 0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);\n  }" if (parenthesized_expression "(*(int *)(CVar11 + 0x3350) != 0)" ( (binary_expression "*(int *)(CVar11 + 0x3350) != 0" (pointer_expression "*(int *)(CVar11 + 0x3350)" * (cast_expression "(int *)(CVar11 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x3350)" ( (binary_expression "CVar11 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);\n  }" { (expression_statement "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340);" (call_expression "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e158c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e158c)" * (pointer_expression "*(code **)(pcVar28 + 0x1e158c)" * (cast_expression "(code **)(pcVar28 + 0x1e158c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e158c)" ( (binary_expression "pcVar28 + 0x1e158c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,CVar11 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c90) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c90)" * (cast_expression "(int *)(pcVar28 + 0x1e0c90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c90)" ( (binary_expression "pcVar28 + 0x1e0c90" identifier + number_literal) )))) + number_literal) , (binary_expression "CVar11 + 0x340" identifier + number_literal) ))) ;) })) (expression_statement "iVar5 = *(int *)(pcVar28 + 0x1e0c98);" (assignment_expression "iVar5 = *(int *)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (pIVar12 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);\n    return MVar8;\n  }" if (parenthesized_expression "(pIVar12 == (Image *)0x0)" ( (binary_expression "pIVar12 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);\n    return MVar8;\n  }" { (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c98) + -0x2850,*(int *)(pcVar28 + 0x1e0c98) + -0x288c\n                       ,0x23c,iVar5 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2850" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar5 + -0x2668" identifier + number_literal) )))) ;) (return_statement "return MVar8;" return identifier ;) })) (if_statement "if (pIVar14 == (Image *)0x0) {\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);\n    return MVar8;\n  }" if (parenthesized_expression "(pIVar14 == (Image *)0x0)" ( (binary_expression "pIVar14 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);\n    return MVar8;\n  }" { (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                      (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n                       0x23d,iVar5 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar5 + -0x2668" identifier + number_literal) )))) ;) (return_statement "return MVar8;" return identifier ;) })) (expression_statement "pIVar21 = *(Image **)(pcVar28 + 0x1e0c98);" (assignment_expression "pIVar21 = *(Image **)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(Image **)(pcVar28 + 0x1e0c98)" * (cast_expression "(Image **)(pcVar28 + 0x1e0c98)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (pIVar14->rows != 0xabacadab) goto LAB_001c8358;" if (parenthesized_expression "(pIVar14->rows != 0xabacadab)" ( (binary_expression "pIVar14->rows != 0xabacadab" (field_expression "pIVar14->rows" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_001c8358;" goto statement_identifier ;)) (expression_statement "pIVar7 = *(Image **)(CVar11 + 0x228);" (assignment_expression "pIVar7 = *(Image **)(CVar11 + 0x228)" identifier = (pointer_expression "*(Image **)(CVar11 + 0x228)" * (cast_expression "(Image **)(CVar11 + 0x228)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CVar11 + 0x228)" ( (binary_expression "CVar11 + 0x228" identifier + number_literal) ))))) ;) (expression_statement "CVar24 = *(ColorspaceType *)(CVar11 + 0x22c);" (assignment_expression "CVar24 = *(ColorspaceType *)(CVar11 + 0x22c)" identifier = (pointer_expression "*(ColorspaceType *)(CVar11 + 0x22c)" * (cast_expression "(ColorspaceType *)(CVar11 + 0x22c)" ( (type_descriptor "ColorspaceType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x22c)" ( (binary_expression "CVar11 + 0x22c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(CVar11 + 0x230);" (assignment_expression "iVar17 = *(int *)(CVar11 + 0x230)" identifier = (pointer_expression "*(int *)(CVar11 + 0x230)" * (cast_expression "(int *)(CVar11 + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x230)" ( (binary_expression "CVar11 + 0x230" identifier + number_literal) ))))) ;) (expression_statement "sVar9 = *(size_t *)(CVar11 + 0x234);" (assignment_expression "sVar9 = *(size_t *)(CVar11 + 0x234)" identifier = (pointer_expression "*(size_t *)(CVar11 + 0x234)" * (cast_expression "(size_t *)(CVar11 + 0x234)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x234)" ( (binary_expression "CVar11 + 0x234" identifier + number_literal) ))))) ;) (if_statement "if (pIVar7 == (Image *)0x0) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\nLAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);\n  }\n  else if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(pIVar7 == (Image *)0x0)" ( (binary_expression "pIVar7 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar7 = *(Image **)(CVar11 + 0x18);\nLAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);\n  }" { (expression_statement "pIVar7 = *(Image **)(CVar11 + 0x18);" (assignment_expression "pIVar7 = *(Image **)(CVar11 + 0x18)" identifier = (pointer_expression "*(Image **)(CVar11 + 0x18)" * (cast_expression "(Image **)(CVar11 + 0x18)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CVar11 + 0x18)" ( (binary_expression "CVar11 + 0x18" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7cf8:\n    CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);" statement_identifier : (expression_statement "CVar24 = *(ColorspaceType *)(CVar11 + 0x1c);" (assignment_expression "CVar24 = *(ColorspaceType *)(CVar11 + 0x1c)" identifier = (pointer_expression "*(ColorspaceType *)(CVar11 + 0x1c)" * (cast_expression "(ColorspaceType *)(CVar11 + 0x1c)" ( (type_descriptor "ColorspaceType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x1c)" ( (binary_expression "CVar11 + 0x1c" identifier + number_literal) ))))) ;)) }) (else_clause "else if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }" else (if_statement "if (CVar24 == UndefinedColorspace) {\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(CVar24 == UndefinedColorspace)" ( (binary_expression "CVar24 == UndefinedColorspace" identifier == identifier) )) (compound_statement "{\n    pIVar7 = *(Image **)(CVar11 + 0x18);\n    goto LAB_001c7cf8;\n  }" { (expression_statement "pIVar7 = *(Image **)(CVar11 + 0x18);" (assignment_expression "pIVar7 = *(Image **)(CVar11 + 0x18)" identifier = (pointer_expression "*(Image **)(CVar11 + 0x18)" * (cast_expression "(Image **)(CVar11 + 0x18)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CVar11 + 0x18)" ( (binary_expression "CVar11 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c7cf8;" goto statement_identifier ;) })))) (expression_statement "CStack_1d4 = pIVar12->compression;" (assignment_expression "CStack_1d4 = pIVar12->compression" identifier = (field_expression "pIVar12->compression" identifier -> field_identifier)) ;) (expression_statement "sVar18 = pIVar12->quality;" (assignment_expression "sVar18 = pIVar12->quality" identifier = (field_expression "pIVar12->quality" identifier -> field_identifier)) ;) (expression_statement "pIStack_1dc = (Image *)pIVar12->storage_class;" (assignment_expression "pIStack_1dc = (Image *)pIVar12->storage_class" identifier = (cast_expression "(Image *)pIVar12->storage_class" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar12->storage_class" identifier -> field_identifier))) ;) (if_statement "if ((Image *)pIVar12->storage_class == (Image *)0x0) {\n    pIStack_1dc = pIVar7;\n  }" if (parenthesized_expression "((Image *)pIVar12->storage_class == (Image *)0x0)" ( (binary_expression "(Image *)pIVar12->storage_class == (Image *)0x0" (cast_expression "(Image *)pIVar12->storage_class" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar12->storage_class" identifier -> field_identifier)) == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIStack_1dc = pIVar7;\n  }" { (expression_statement "pIStack_1dc = pIVar7;" (assignment_expression "pIStack_1dc = pIVar7" identifier = identifier) ;) })) (expression_statement "CStack_1d8 = pIVar12->colorspace;" (assignment_expression "CStack_1d8 = pIVar12->colorspace" identifier = (field_expression "pIVar12->colorspace" identifier -> field_identifier)) ;) (if_statement "if (pIVar12->colorspace == UndefinedColorspace) {\n    CStack_1d8 = CVar24;\n  }" if (parenthesized_expression "(pIVar12->colorspace == UndefinedColorspace)" ( (binary_expression "pIVar12->colorspace == UndefinedColorspace" (field_expression "pIVar12->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    CStack_1d8 = CVar24;\n  }" { (expression_statement "CStack_1d8 = CVar24;" (assignment_expression "CStack_1d8 = CVar24" identifier = identifier) ;) })) (if_statement "if ((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc) {\n    CVar6 = CStack_1d4 - iVar17;\n    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;\n    iVar5 = *(int *)(CVar11 + 0x18);\n    sStack_1d0 = sVar18 - sVar9;\n    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;\n    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }\n    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }\n    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }\n    pIVar21 = (Image *)pIVar12->storage_class;\n    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }\n    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }\n    CVar16 = pIVar12->colorspace;\n    iVar17 = CStack_1d4 + iVar17;\n    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }\n    CStack_1d8 = CVar16;\n    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar5 = 1;\n    pIVar21 = pIStack_1dc;\n    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);\n    if (MVar8 == MagickFalse) goto LAB_001c815c;\n    uVar10 = *(undefined4 *)(CVar11 + 0x22c);\n    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);\n    *(undefined4 *)(MVar8 + 0x22c) = uVar10;\n    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    *(int *)(MVar8 + 0x230) = iVar17;\n    uStack_1e4 = 0;\n    *(size_t *)(MVar8 + 0x234) = sVar18;\n    uStack_1e8 = 0;\n    sVar9 = (*pcVar26)(CVar11,pIVar14);\n    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);\n    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);\n    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar5 = 0;\n    ppIStack_1b4 = &pIStack_1dc;\n    pIVar21 = (Image *)&CStack_1cc;\n    sStack_1b0 = 1;\n    CStack_1cc = CVar11;\n    pIStack_1c8 = pIVar14;\n    CStack_1c4 = CVar6;\n    sStack_1c0 = sVar9;\n    MStack_1bc = MVar8;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);\n    sVar18 = sStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);\n    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);\n    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);\n    if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }\n  }\n  else {\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }" if (parenthesized_expression "((int)(iVar17 - CStack_1d4) < (int)pIStack_1dc)" ( (binary_expression "(int)(iVar17 - CStack_1d4) < (int)pIStack_1dc" (cast_expression "(int)(iVar17 - CStack_1d4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar17 - CStack_1d4)" ( (binary_expression "iVar17 - CStack_1d4" identifier - identifier) ))) < (cast_expression "(int)pIStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    CVar6 = CStack_1d4 - iVar17;\n    if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;\n    iVar5 = *(int *)(CVar11 + 0x18);\n    sStack_1d0 = sVar18 - sVar9;\n    if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;\n    if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }\n    if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }\n    if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }\n    pIVar21 = (Image *)pIVar12->storage_class;\n    if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }\n    if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }\n    CVar16 = pIVar12->colorspace;\n    iVar17 = CStack_1d4 + iVar17;\n    if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }\n    CStack_1d8 = CVar16;\n    if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar5 = 1;\n    pIVar21 = pIStack_1dc;\n    MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);\n    if (MVar8 == MagickFalse) goto LAB_001c815c;\n    uVar10 = *(undefined4 *)(CVar11 + 0x22c);\n    *(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);\n    *(undefined4 *)(MVar8 + 0x22c) = uVar10;\n    if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    *(int *)(MVar8 + 0x230) = iVar17;\n    uStack_1e4 = 0;\n    *(size_t *)(MVar8 + 0x234) = sVar18;\n    uStack_1e8 = 0;\n    sVar9 = (*pcVar26)(CVar11,pIVar14);\n    CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);\n    iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);\n    if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar5 = 0;\n    ppIStack_1b4 = &pIStack_1dc;\n    pIVar21 = (Image *)&CStack_1cc;\n    sStack_1b0 = 1;\n    CStack_1cc = CVar11;\n    pIStack_1c8 = pIVar14;\n    CStack_1c4 = CVar6;\n    sStack_1c0 = sVar9;\n    MStack_1bc = MVar8;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);\n    sVar18 = sStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(CVar6);\n    (**(code **)(pcVar28 + 0x1e12a0))(sVar9);\n    *(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);\n    if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }\n  }" { (expression_statement "CVar6 = CStack_1d4 - iVar17;" (assignment_expression "CVar6 = CStack_1d4 - iVar17" identifier = (binary_expression "CStack_1d4 - iVar17" identifier - identifier)) ;) (if_statement "if ((int)CStack_1d8 <= (int)(sVar9 - sVar18)) goto LAB_001c7d60;" if (parenthesized_expression "((int)CStack_1d8 <= (int)(sVar9 - sVar18))" ( (binary_expression "(int)CStack_1d8 <= (int)(sVar9 - sVar18)" (cast_expression "(int)CStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)(sVar9 - sVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(sVar9 - sVar18)" ( (binary_expression "sVar9 - sVar18" identifier - identifier) )))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(CVar11 + 0x18);" (assignment_expression "iVar5 = *(int *)(CVar11 + 0x18)" identifier = (pointer_expression "*(int *)(CVar11 + 0x18)" * (cast_expression "(int *)(CVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x18)" ( (binary_expression "CVar11 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "sStack_1d0 = sVar18 - sVar9;" (assignment_expression "sStack_1d0 = sVar18 - sVar9" identifier = (binary_expression "sVar18 - sVar9" identifier - identifier)) ;) (if_statement "if ((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))\n    goto LAB_001c7d60;" if (parenthesized_expression "((iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0))" ( (binary_expression "(iVar5 < (int)CVar6) || (iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0)" (parenthesized_expression "(iVar5 < (int)CVar6)" ( (binary_expression "iVar5 < (int)CVar6" identifier < (cast_expression "(int)CVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0)" ( (comma_expression "iVar19 = *(int *)(CVar11 + 0x1c), iVar19 < (int)sStack_1d0" (assignment_expression "iVar19 = *(int *)(CVar11 + 0x1c)" identifier = (pointer_expression "*(int *)(CVar11 + 0x1c)" * (cast_expression "(int *)(CVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x1c)" ( (binary_expression "CVar11 + 0x1c" identifier + number_literal) ))))) , (binary_expression "iVar19 < (int)sStack_1d0" identifier < (cast_expression "(int)sStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (if_statement "if (((int)CStack_1d4 < 0) && (-1 < iVar17)) {\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }\n    else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }" if (parenthesized_expression "(((int)CStack_1d4 < 0) && (-1 < iVar17))" ( (binary_expression "((int)CStack_1d4 < 0) && (-1 < iVar17)" (parenthesized_expression "((int)CStack_1d4 < 0)" ( (binary_expression "(int)CStack_1d4 < 0" (cast_expression "(int)CStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) ))) )) (compound_statement "{\n      pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);\n      CStack_1d4 = UndefinedCompression;\n    }" { (expression_statement "pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc);" (assignment_expression "pIStack_1dc = (Image *)(CVar6 + (int)pIStack_1dc)" identifier = (cast_expression "(Image *)(CVar6 + (int)pIStack_1dc)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar6 + (int)pIStack_1dc)" ( (binary_expression "CVar6 + (int)pIStack_1dc" identifier + (cast_expression "(int)pIStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "CStack_1d4 = UndefinedCompression;" (assignment_expression "CStack_1d4 = UndefinedCompression" identifier = identifier) ;) }) (else_clause "else {\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }" else (compound_statement "{\n      pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));\n      CStack_1d4 = CVar6;\n      if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }\n    }" { (expression_statement "pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4));" (assignment_expression "pIStack_1dc = (Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4))" identifier = (cast_expression "(Image *)((int)pIStack_1dc - (iVar17 - CStack_1d4))" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pIStack_1dc - (iVar17 - CStack_1d4))" ( (binary_expression "(int)pIStack_1dc - (iVar17 - CStack_1d4)" (cast_expression "(int)pIStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar17 - CStack_1d4)" ( (binary_expression "iVar17 - CStack_1d4" identifier - identifier) ))) )))) ;) (expression_statement "CStack_1d4 = CVar6;" (assignment_expression "CStack_1d4 = CVar6" identifier = identifier) ;) (if_statement "if ((int)CVar6 < 0) {\n        CStack_1d4 = UndefinedCompression;\n      }" if (parenthesized_expression "((int)CVar6 < 0)" ( (binary_expression "(int)CVar6 < 0" (cast_expression "(int)CVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        CStack_1d4 = UndefinedCompression;\n      }" { (expression_statement "CStack_1d4 = UndefinedCompression;" (assignment_expression "CStack_1d4 = UndefinedCompression" identifier = identifier) ;) })) }))) (if_statement "if (((int)sVar18 < 0) && (-1 < (int)sVar9)) {\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }\n    else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }" if (parenthesized_expression "(((int)sVar18 < 0) && (-1 < (int)sVar9))" ( (binary_expression "((int)sVar18 < 0) && (-1 < (int)sVar9)" (parenthesized_expression "((int)sVar18 < 0)" ( (binary_expression "(int)sVar18 < 0" (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)sVar9)" ( (binary_expression "-1 < (int)sVar9" number_literal < (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      CStack_1d8 = sStack_1d0 + CStack_1d8;\n      sStack_1d0 = 0;\n      sVar18 = sVar9;\n    }" { (expression_statement "CStack_1d8 = sStack_1d0 + CStack_1d8;" (assignment_expression "CStack_1d8 = sStack_1d0 + CStack_1d8" identifier = (binary_expression "sStack_1d0 + CStack_1d8" identifier + identifier)) ;) (expression_statement "sStack_1d0 = 0;" (assignment_expression "sStack_1d0 = 0" identifier = number_literal) ;) (expression_statement "sVar18 = sVar9;" (assignment_expression "sVar18 = sVar9" identifier = identifier) ;) }) (else_clause "else {\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }" else (compound_statement "{\n      CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);\n      if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }\n    }" { (expression_statement "CStack_1d8 = CStack_1d8 - (sVar9 - sVar18);" (assignment_expression "CStack_1d8 = CStack_1d8 - (sVar9 - sVar18)" identifier = (binary_expression "CStack_1d8 - (sVar9 - sVar18)" identifier - (parenthesized_expression "(sVar9 - sVar18)" ( (binary_expression "sVar9 - sVar18" identifier - identifier) )))) ;) (if_statement "if ((int)sStack_1d0 < 0) {\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }" if (parenthesized_expression "((int)sStack_1d0 < 0)" ( (binary_expression "(int)sStack_1d0 < 0" (cast_expression "(int)sStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        sStack_1d0 = 0;\n        sVar18 = sVar9;\n      }" { (expression_statement "sStack_1d0 = 0;" (assignment_expression "sStack_1d0 = 0" identifier = number_literal) ;) (expression_statement "sVar18 = sVar9;" (assignment_expression "sVar18 = sVar9" identifier = identifier) ;) })) }))) (if_statement "if (iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)) {\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }" if (parenthesized_expression "(iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4))" ( (binary_expression "iVar5 < (int)((int)&pIStack_1dc->storage_class + CStack_1d4)" identifier < (cast_expression "(int)((int)&pIStack_1dc->storage_class + CStack_1d4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pIStack_1dc->storage_class + CStack_1d4)" ( (binary_expression "(int)&pIStack_1dc->storage_class + CStack_1d4" (cast_expression "(int)&pIStack_1dc->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIStack_1dc->storage_class" & (field_expression "pIStack_1dc->storage_class" identifier -> field_identifier))) + identifier) )))) )) (compound_statement "{\n      pIStack_1dc = (Image *)(iVar5 - CStack_1d4);\n    }" { (expression_statement "pIStack_1dc = (Image *)(iVar5 - CStack_1d4);" (assignment_expression "pIStack_1dc = (Image *)(iVar5 - CStack_1d4)" identifier = (cast_expression "(Image *)(iVar5 - CStack_1d4)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 - CStack_1d4)" ( (binary_expression "iVar5 - CStack_1d4" identifier - identifier) )))) ;) })) (expression_statement "pIVar21 = (Image *)pIVar12->storage_class;" (assignment_expression "pIVar21 = (Image *)pIVar12->storage_class" identifier = (cast_expression "(Image *)pIVar12->storage_class" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar12->storage_class" identifier -> field_identifier))) ;) (if_statement "if ((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)) {\n      pIStack_1dc = pIVar21;\n    }" if (parenthesized_expression "((pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc))" ( (binary_expression "(pIVar21 != (Image *)0x0) && (pIVar21 < pIStack_1dc)" (parenthesized_expression "(pIVar21 != (Image *)0x0)" ( (binary_expression "pIVar21 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pIVar21 < pIStack_1dc)" ( (binary_expression "pIVar21 < pIStack_1dc" identifier < identifier) ))) )) (compound_statement "{\n      pIStack_1dc = pIVar21;\n    }" { (expression_statement "pIStack_1dc = pIVar21;" (assignment_expression "pIStack_1dc = pIVar21" identifier = identifier) ;) })) (if_statement "if (iVar19 < (int)(CStack_1d8 + sStack_1d0)) {\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }" if (parenthesized_expression "(iVar19 < (int)(CStack_1d8 + sStack_1d0))" ( (binary_expression "iVar19 < (int)(CStack_1d8 + sStack_1d0)" identifier < (cast_expression "(int)(CStack_1d8 + sStack_1d0)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(CStack_1d8 + sStack_1d0)" ( (binary_expression "CStack_1d8 + sStack_1d0" identifier + identifier) )))) )) (compound_statement "{\n      CStack_1d8 = iVar19 - sStack_1d0;\n    }" { (expression_statement "CStack_1d8 = iVar19 - sStack_1d0;" (assignment_expression "CStack_1d8 = iVar19 - sStack_1d0" identifier = (binary_expression "iVar19 - sStack_1d0" identifier - identifier)) ;) })) (expression_statement "CVar16 = pIVar12->colorspace;" (assignment_expression "CVar16 = pIVar12->colorspace" identifier = (field_expression "pIVar12->colorspace" identifier -> field_identifier)) ;) (expression_statement "iVar17 = CStack_1d4 + iVar17;" (assignment_expression "iVar17 = CStack_1d4 + iVar17" identifier = (binary_expression "CStack_1d4 + iVar17" identifier + identifier)) ;) (if_statement "if ((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)) {\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }" if (parenthesized_expression "((CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16))" ( (binary_expression "(CVar16 == UndefinedColorspace) || (CStack_1d8 <= CVar16)" (parenthesized_expression "(CVar16 == UndefinedColorspace)" ( (binary_expression "CVar16 == UndefinedColorspace" identifier == identifier) )) || (parenthesized_expression "(CStack_1d8 <= CVar16)" ( (binary_expression "CStack_1d8 <= CVar16" identifier <= identifier) ))) )) (compound_statement "{\n      if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar5 = 0x285;\n      pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);\n      goto LAB_001c815c;\n    }" { (if_statement "if ((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))\n      goto LAB_001c7f40;" if (parenthesized_expression "((pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace))" ( (binary_expression "(pIStack_1dc != (Image *)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace)" (parenthesized_expression "(pIStack_1dc != (Image *)0x0)" ( (binary_expression "pIStack_1dc != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), CStack_1d8 != UndefinedColorspace" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) , (binary_expression "CStack_1d8 != UndefinedColorspace" identifier != identifier)) ))) )) (goto_statement "goto LAB_001c7f40;" goto statement_identifier ;)) (labeled_statement "LAB_001c8110:\n      iVar5 = 0x285;" statement_identifier : (expression_statement "iVar5 = 0x285;" (assignment_expression "iVar5 = 0x285" identifier = number_literal) ;)) (expression_statement "pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);" (assignment_expression "pIVar21 = (Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" identifier = (cast_expression "(Image *)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n                (pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(pIVar14,pIVar21,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 CVar11 + 0x340)" ( identifier , identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "CVar11 + 0x340" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;) })) (expression_statement "CStack_1d8 = CVar16;" (assignment_expression "CStack_1d8 = CVar16" identifier = identifier) ;) (if_statement "if (pIStack_1dc == (Image *)0x0) goto LAB_001c8110;" if (parenthesized_expression "(pIStack_1dc == (Image *)0x0)" ( (binary_expression "pIStack_1dc == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c8110;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7f40:\n    iVar5 = 1;" statement_identifier : (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;)) (expression_statement "pIVar21 = pIStack_1dc;" (assignment_expression "pIVar21 = pIStack_1dc" identifier = identifier) ;) (expression_statement "MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14);" (assignment_expression "MVar8 = (*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14)" identifier = (call_expression "(*pcVar26)(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(CVar11,pIStack_1dc,CStack_1d8,1,pIVar14)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (MVar8 == MagickFalse) goto LAB_001c815c;" if (parenthesized_expression "(MVar8 == MagickFalse)" ( (binary_expression "MVar8 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;)) (expression_statement "uVar10 = *(undefined4 *)(CVar11 + 0x22c);" (assignment_expression "uVar10 = *(undefined4 *)(CVar11 + 0x22c)" identifier = (pointer_expression "*(undefined4 *)(CVar11 + 0x22c)" * (cast_expression "(undefined4 *)(CVar11 + 0x22c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x22c)" ( (binary_expression "CVar11 + 0x22c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228);" (assignment_expression "*(undefined4 *)(MVar8 + 0x228) = *(undefined4 *)(CVar11 + 0x228)" (pointer_expression "*(undefined4 *)(MVar8 + 0x228)" * (cast_expression "(undefined4 *)(MVar8 + 0x228)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x228)" ( (binary_expression "MVar8 + 0x228" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(CVar11 + 0x228)" * (cast_expression "(undefined4 *)(CVar11 + 0x228)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x228)" ( (binary_expression "CVar11 + 0x228" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x22c) = uVar10;" (assignment_expression "*(undefined4 *)(MVar8 + 0x22c) = uVar10" (pointer_expression "*(undefined4 *)(MVar8 + 0x22c)" * (cast_expression "(undefined4 *)(MVar8 + 0x22c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x22c)" ( (binary_expression "MVar8 + 0x22c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))) {\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }" if (parenthesized_expression "((*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24)))" ( (binary_expression "(*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)) ||\n       (*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))" (parenthesized_expression "(*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17))" ( (binary_expression "*(int *)(CVar11 + 0x228) < (int)((int)&pIVar7->storage_class + iVar17)" (pointer_expression "*(int *)(CVar11 + 0x228)" * (cast_expression "(int *)(CVar11 + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x228)" ( (binary_expression "CVar11 + 0x228" identifier + number_literal) )))) < (cast_expression "(int)((int)&pIVar7->storage_class + iVar17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pIVar7->storage_class + iVar17)" ( (binary_expression "(int)&pIVar7->storage_class + iVar17" (cast_expression "(int)&pIVar7->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar7->storage_class" & (field_expression "pIVar7->storage_class" identifier -> field_identifier))) + identifier) )))) )) || (parenthesized_expression "(*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24))" ( (binary_expression "*(int *)(CVar11 + 0x22c) < (int)(sVar18 + CVar24)" (pointer_expression "*(int *)(CVar11 + 0x22c)" * (cast_expression "(int *)(CVar11 + 0x22c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x22c)" ( (binary_expression "CVar11 + 0x22c" identifier + number_literal) )))) < (cast_expression "(int)(sVar18 + CVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(sVar18 + CVar24)" ( (binary_expression "sVar18 + CVar24" identifier + identifier) )))) ))) )) (compound_statement "{\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n    }" { (expression_statement "*(Image **)(MVar8 + 0x228) = pIVar7;" (assignment_expression "*(Image **)(MVar8 + 0x228) = pIVar7" (pointer_expression "*(Image **)(MVar8 + 0x228)" * (cast_expression "(Image **)(MVar8 + 0x228)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(MVar8 + 0x228)" ( (binary_expression "MVar8 + 0x228" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ColorspaceType *)(MVar8 + 0x22c) = CVar24;" (assignment_expression "*(ColorspaceType *)(MVar8 + 0x22c) = CVar24" (pointer_expression "*(ColorspaceType *)(MVar8 + 0x22c)" * (cast_expression "(ColorspaceType *)(MVar8 + 0x22c)" ( (type_descriptor "ColorspaceType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x22c)" ( (binary_expression "MVar8 + 0x22c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1b00);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1b00)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1b00)" * (cast_expression "(code **)(pcVar28 + 0x1e1b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1b00)" ( (binary_expression "pcVar28 + 0x1e1b00" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(MVar8 + 0x230) = iVar17;" (assignment_expression "*(int *)(MVar8 + 0x230) = iVar17" (pointer_expression "*(int *)(MVar8 + 0x230)" * (cast_expression "(int *)(MVar8 + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x230)" ( (binary_expression "MVar8 + 0x230" identifier + number_literal) )))) = identifier) ;) (expression_statement "uStack_1e4 = 0;" (assignment_expression "uStack_1e4 = 0" identifier = number_literal) ;) (expression_statement "*(size_t *)(MVar8 + 0x234) = sVar18;" (assignment_expression "*(size_t *)(MVar8 + 0x234) = sVar18" (pointer_expression "*(size_t *)(MVar8 + 0x234)" * (cast_expression "(size_t *)(MVar8 + 0x234)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x234)" ( (binary_expression "MVar8 + 0x234" identifier + number_literal) )))) = identifier) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (expression_statement "sVar9 = (*pcVar26)(CVar11,pIVar14);" (assignment_expression "sVar9 = (*pcVar26)(CVar11,pIVar14)" identifier = (call_expression "(*pcVar26)(CVar11,pIVar14)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(CVar11,pIVar14)" ( identifier , identifier )))) ;) (expression_statement "CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14);" (assignment_expression "CVar6 = (**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1280))(MVar8,pIVar14)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1280))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1280)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1280)" * (cast_expression "(code **)(pcVar28 + 0x1e1280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1280)" ( (binary_expression "pcVar28 + 0x1e1280" identifier + number_literal) ))))) )) (argument_list "(MVar8,pIVar14)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11);" (assignment_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(CVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(CVar11)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)) &&\n       ((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(CVar11)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(CVar11)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(CVar11)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(MVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(MVar8)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n        (iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar28 + 0x1e1860))(MVar8)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(MVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(MVar8)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      iVar17 = *(int *)(MVar8 + 0x1c);\n      iVar5 = iVar17;\n      if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }\n      if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }\n      iVar17 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar17 = *(int *)(MVar8 + 0x1c);" (assignment_expression "iVar17 = *(int *)(MVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(MVar8 + 0x1c)" * (cast_expression "(int *)(MVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x1c)" ( (binary_expression "MVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iVar17;" (assignment_expression "iVar5 = iVar17" identifier = identifier) ;) (if_statement "if (iVar17 < 0) {\n        iVar5 = iVar17 + 0x3f;\n      }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar5 = iVar17 + 0x3f;\n      }" { (expression_statement "iVar5 = iVar17 + 0x3f;" (assignment_expression "iVar5 = iVar17 + 0x3f" identifier = (binary_expression "iVar17 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_13 < iVar5 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = iVar17 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_13 < iVar5 >> 6)" ( (binary_expression "extraout_v1_13 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_15 < 2;" (assignment_expression "bVar1 = extraout_v1_15 < 2" identifier = (binary_expression "extraout_v1_15 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar17 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar17 < 0x80;\n      }" { (expression_statement "bVar1 = iVar17 < 0x80;" (assignment_expression "bVar1 = iVar17 < 0x80" identifier = (binary_expression "iVar17 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        iVar17 = *(int *)(MVar8 + 0x1c);\n        if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }\n        iVar17 = iVar17 >> 6;\n        if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar17 = *(int *)(MVar8 + 0x1c);" (assignment_expression "iVar17 = *(int *)(MVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(MVar8 + 0x1c)" * (cast_expression "(int *)(MVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x1c)" ( (binary_expression "MVar8 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar17 < 0) {\n          iVar17 = iVar17 + 0x3f;\n        }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar17 = iVar17 + 0x3f;\n        }" { (expression_statement "iVar17 = iVar17 + 0x3f;" (assignment_expression "iVar17 = iVar17 + 0x3f" identifier = (binary_expression "iVar17 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar17 = iVar17 >> 6;" (assignment_expression "iVar17 = iVar17 >> 6" identifier = (binary_expression "iVar17 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_14 < iVar17) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" if (parenthesized_expression "(extraout_v1_14 < iVar17)" ( (binary_expression "extraout_v1_14 < iVar17" identifier < identifier) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c8184;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }" else (compound_statement "{\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }\n    }" { (expression_statement "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);" (assignment_expression "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }\n        }" { (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c801c;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            iVar17 = 1;\n            goto LAB_001c8038;\n          }" { (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c8038;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" else (compound_statement "{\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" { (labeled_statement "LAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }\n      else {\n        iVar17 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar17 = extraout_v1_12;\n      }" { (labeled_statement "LAB_001c8184:\n        (*pcVar26)(7);" statement_identifier : (expression_statement "(*pcVar26)(7);" (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar17 = extraout_v1_12;" (assignment_expression "iVar17 = extraout_v1_12" identifier = identifier) ;) }) (else_clause "else {\n        iVar17 = 2;\n      }" else (compound_statement "{\n        iVar17 = 2;\n      }" { (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001c8038:\n    puStack_1b8 = &uStack_1e8;" statement_identifier : (expression_statement "puStack_1b8 = &uStack_1e8;" (assignment_expression "puStack_1b8 = &uStack_1e8" identifier = (pointer_expression "&uStack_1e8" & identifier)) ;)) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "ppIStack_1b4 = &pIStack_1dc;" (assignment_expression "ppIStack_1b4 = &pIStack_1dc" identifier = (pointer_expression "&pIStack_1dc" & identifier)) ;) (expression_statement "pIVar21 = (Image *)&CStack_1cc;" (assignment_expression "pIVar21 = (Image *)&CStack_1cc" identifier = (cast_expression "(Image *)&CStack_1cc" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&CStack_1cc" & identifier))) ;) (expression_statement "sStack_1b0 = 1;" (assignment_expression "sStack_1b0 = 1" identifier = number_literal) ;) (expression_statement "CStack_1cc = CVar11;" (assignment_expression "CStack_1cc = CVar11" identifier = identifier) ;) (expression_statement "pIStack_1c8 = pIVar14;" (assignment_expression "pIStack_1c8 = pIVar14" identifier = identifier) ;) (expression_statement "CStack_1c4 = CVar6;" (assignment_expression "CStack_1c4 = CVar6" identifier = identifier) ;) (expression_statement "sStack_1c0 = sVar9;" (assignment_expression "sStack_1c0 = sVar9" identifier = identifier) ;) (expression_statement "MStack_1bc = MVar8;" (assignment_expression "MStack_1bc = MVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0);" (call_expression "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1544))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1544)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1544)" * (cast_expression "(code **)(pcVar28 + 0x1e1544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1544)" ( (binary_expression "pcVar28 + 0x1e1544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,pIVar21,iVar17,0)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0d4c) + 0x5198" (pointer_expression "*(int *)(pcVar28 + 0x1e0d4c)" * (cast_expression "(int *)(pcVar28 + 0x1e0d4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0d4c)" ( (binary_expression "pcVar28 + 0x1e0d4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "sVar18 = sStack_1b0;" (assignment_expression "sVar18 = sStack_1b0" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(CVar6);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(CVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(CVar6)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(sVar9);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(sVar9)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(sVar9)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0);" (assignment_expression "*(undefined4 *)(MVar8 + 0x2a0) = *(undefined4 *)(CVar11 + 0x2a0)" (pointer_expression "*(undefined4 *)(MVar8 + 0x2a0)" * (cast_expression "(undefined4 *)(MVar8 + 0x2a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x2a0)" ( (binary_expression "MVar8 + 0x2a0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(CVar11 + 0x2a0)" * (cast_expression "(undefined4 *)(CVar11 + 0x2a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CVar11 + 0x2a0)" ( (binary_expression "CVar11 + 0x2a0" identifier + number_literal) ))))) ;) (if_statement "if (sVar18 == 0) {\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);\n    }" { (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e12f8))(MVar8)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e12f8))(MVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12f8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12f8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12f8)" * (cast_expression "(code **)(pcVar28 + 0x1e12f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12f8)" ( (binary_expression "pcVar28 + 0x1e12f8" identifier + number_literal) ))))) )) (argument_list "(MVar8)" ( identifier )))) ;) })) }) (else_clause "else {\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }" else (compound_statement "{\nLAB_001c7d60:\n    sStack_1d0 = sVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);\n    iVar5 = 1;\n    pIVar21 = (Image *)0x1;\n    MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);\n    if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }\n  }" { (labeled_statement "LAB_001c7d60:\n    sStack_1d0 = sVar18;" statement_identifier : (expression_statement "sStack_1d0 = sVar18;" (assignment_expression "sStack_1d0 = sVar18" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n              (pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(pIVar14,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674\n               ,0x252,0x136,*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,CVar11 + 0x340)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "CVar11 + 0x340" identifier + number_literal) ))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "pIVar21 = (Image *)0x1;" (assignment_expression "pIVar21 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1bdc))(CVar11,1,1,1,pIVar14)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1bdc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1bdc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) )) (argument_list "(CVar11,1,1,1,pIVar14)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (MVar8 == MagickFalse) {\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }" if (parenthesized_expression "(MVar8 == MagickFalse)" ( (binary_expression "MVar8 == MagickFalse" identifier == identifier) )) (compound_statement "{\nLAB_001c815c:\n      MVar8 = MagickFalse;\n    }" { (labeled_statement "LAB_001c815c:\n      MVar8 = MagickFalse;" statement_identifier : (expression_statement "MVar8 = MagickFalse;" (assignment_expression "MVar8 = MagickFalse" identifier = identifier) ;)) }) (else_clause "else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }" else (compound_statement "{\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      *(undefined4 *)(MVar8 + 0xd4) = 0;\n      *(undefined4 *)(MVar8 + 0xd0) = 0;\n      *(undefined4 *)(MVar8 + 0x90) = 4;\n      (*pcVar26)(MVar8,pIVar14);\n      *(Image **)(MVar8 + 0x228) = pIVar7;\n      *(ColorspaceType *)(MVar8 + 0x22c) = CVar24;\n      *(undefined4 *)(MVar8 + 0x230) = 0xffffffff;\n      *(undefined4 *)(MVar8 + 0x234) = 0xffffffff;\n      pIVar21 = pIVar14;\n      if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }\n    }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e123c);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e123c)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e123c)" * (cast_expression "(code **)(pcVar28 + 0x1e123c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e123c)" ( (binary_expression "pcVar28 + 0x1e123c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(MVar8 + 0xd4) = 0;" (assignment_expression "*(undefined4 *)(MVar8 + 0xd4) = 0" (pointer_expression "*(undefined4 *)(MVar8 + 0xd4)" * (cast_expression "(undefined4 *)(MVar8 + 0xd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0xd4)" ( (binary_expression "MVar8 + 0xd4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(MVar8 + 0xd0) = 0;" (assignment_expression "*(undefined4 *)(MVar8 + 0xd0) = 0" (pointer_expression "*(undefined4 *)(MVar8 + 0xd0)" * (cast_expression "(undefined4 *)(MVar8 + 0xd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0xd0)" ( (binary_expression "MVar8 + 0xd0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x90) = 4;" (assignment_expression "*(undefined4 *)(MVar8 + 0x90) = 4" (pointer_expression "*(undefined4 *)(MVar8 + 0x90)" * (cast_expression "(undefined4 *)(MVar8 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x90)" ( (binary_expression "MVar8 + 0x90" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar26)(MVar8,pIVar14);" (call_expression "(*pcVar26)(MVar8,pIVar14)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(MVar8,pIVar14)" ( identifier , identifier ))) ;) (expression_statement "*(Image **)(MVar8 + 0x228) = pIVar7;" (assignment_expression "*(Image **)(MVar8 + 0x228) = pIVar7" (pointer_expression "*(Image **)(MVar8 + 0x228)" * (cast_expression "(Image **)(MVar8 + 0x228)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(MVar8 + 0x228)" ( (binary_expression "MVar8 + 0x228" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ColorspaceType *)(MVar8 + 0x22c) = CVar24;" (assignment_expression "*(ColorspaceType *)(MVar8 + 0x22c) = CVar24" (pointer_expression "*(ColorspaceType *)(MVar8 + 0x22c)" * (cast_expression "(ColorspaceType *)(MVar8 + 0x22c)" ( (type_descriptor "ColorspaceType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x22c)" ( (binary_expression "MVar8 + 0x22c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x230) = 0xffffffff;" (assignment_expression "*(undefined4 *)(MVar8 + 0x230) = 0xffffffff" (pointer_expression "*(undefined4 *)(MVar8 + 0x230)" * (cast_expression "(undefined4 *)(MVar8 + 0x230)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x230)" ( (binary_expression "MVar8 + 0x230" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(MVar8 + 0x234) = 0xffffffff;" (assignment_expression "*(undefined4 *)(MVar8 + 0x234) = 0xffffffff" (pointer_expression "*(undefined4 *)(MVar8 + 0x234)" * (cast_expression "(undefined4 *)(MVar8 + 0x234)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x234)" ( (binary_expression "MVar8 + 0x234" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pIVar21 = pIVar14;" (assignment_expression "pIVar21 = pIVar14" identifier = identifier) ;) (if_statement "if (*(int *)(MVar8 + 0x268) == 2) {\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }" if (parenthesized_expression "(*(int *)(MVar8 + 0x268) == 2)" ( (binary_expression "*(int *)(MVar8 + 0x268) == 2" (pointer_expression "*(int *)(MVar8 + 0x268)" * (cast_expression "(int *)(MVar8 + 0x268)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x268)" ( (binary_expression "MVar8 + 0x268" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined4 *)(MVar8 + 0x268) = 1;\n      }" { (expression_statement "*(undefined4 *)(MVar8 + 0x268) = 1;" (assignment_expression "*(undefined4 *)(MVar8 + 0x268) = 1" (pointer_expression "*(undefined4 *)(MVar8 + 0x268)" * (cast_expression "(undefined4 *)(MVar8 + 0x268)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar8 + 0x268)" ( (binary_expression "MVar8 + 0x268" identifier + number_literal) )))) = number_literal) ;) })) }))) }))) (if_statement "if (sStack_1ac == *psVar23) {\n    return MVar8;\n  }" if (parenthesized_expression "(sStack_1ac == *psVar23)" ( (binary_expression "sStack_1ac == *psVar23" identifier == (pointer_expression "*psVar23" * identifier)) )) (compound_statement "{\n    return MVar8;\n  }" { (return_statement "return MVar8;" return identifier ;) })) (expression_statement "(**(code **)(pcVar28 + 0x1e1410))();" (call_expression "(**(code **)(pcVar28 + 0x1e1410))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1410))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1410)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1410)" * (cast_expression "(code **)(pcVar28 + 0x1e1410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1410)" ( (binary_expression "pcVar28 + 0x1e1410" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001c8358:\n  MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668);" statement_identifier : (expression_statement "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668);" (assignment_expression "MVar8 = (**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                    (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,pIVar21[-1].filename + 0x80c,0x23e,\n                     iVar5 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x294c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "pIVar21[-1].filename + 0x80c" (field_expression "pIVar21[-1].filename" (subscript_expression "pIVar21[-1]" identifier [ number_literal ]) . field_identifier) + number_literal) , number_literal , (binary_expression "iVar5 + -0x2668" identifier + number_literal) )))) ;)) (return_statement "return MVar8;" return identifier ;) })))
(translation_unit "uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}\n\n" (function_definition "uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" type_identifier (pointer_declarator "**** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "*** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (pointer_declarator "* FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" * (function_declarator "FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" identifier (parameter_list "(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" ( (parameter_declaration "uint ****param_1" type_identifier (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint ****param_3" type_identifier (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))) , (parameter_declaration "uint ****param_4" type_identifier (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "uint ****param_9" type_identifier (pointer_declarator "****param_9" * (pointer_declarator "***param_9" * (pointer_declarator "**param_9" * (pointer_declarator "*param_9" * identifier))))) ))))))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "uint ****ppppuVar7;" type_identifier (pointer_declarator "****ppppuVar7" * (pointer_declarator "***ppppuVar7" * (pointer_declarator "**ppppuVar7" * (pointer_declarator "*ppppuVar7" * identifier)))) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "uint ****extraout_v1_00;" type_identifier (pointer_declarator "****extraout_v1_00" * (pointer_declarator "***extraout_v1_00" * (pointer_declarator "**extraout_v1_00" * (pointer_declarator "*extraout_v1_00" * identifier)))) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "uint ****extraout_v1_03;" type_identifier (pointer_declarator "****extraout_v1_03" * (pointer_declarator "***extraout_v1_03" * (pointer_declarator "**extraout_v1_03" * (pointer_declarator "*extraout_v1_03" * identifier)))) ;) (declaration "uint ***pppuVar10;" type_identifier (pointer_declarator "***pppuVar10" * (pointer_declarator "**pppuVar10" * (pointer_declarator "*pppuVar10" * identifier))) ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "int extraout_v1_13;" primitive_type identifier ;) (declaration "int extraout_v1_14;" primitive_type identifier ;) (declaration "int extraout_v1_15;" primitive_type identifier ;) (declaration "uint **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "uint ***pppuVar12;" type_identifier (pointer_declarator "***pppuVar12" * (pointer_declarator "**pppuVar12" * (pointer_declarator "*pppuVar12" * identifier))) ;) (declaration "uint ****ppppuVar13;" type_identifier (pointer_declarator "****ppppuVar13" * (pointer_declarator "***ppppuVar13" * (pointer_declarator "**ppppuVar13" * (pointer_declarator "*ppppuVar13" * identifier)))) ;) (declaration "uint ***pppuVar14;" type_identifier (pointer_declarator "***pppuVar14" * (pointer_declarator "**pppuVar14" * (pointer_declarator "*pppuVar14" * identifier))) ;) (declaration "uint ****ppppuVar15;" type_identifier (pointer_declarator "****ppppuVar15" * (pointer_declarator "***ppppuVar15" * (pointer_declarator "**ppppuVar15" * (pointer_declarator "*ppppuVar15" * identifier)))) ;) (declaration "uint ****ppppuVar16;" type_identifier (pointer_declarator "****ppppuVar16" * (pointer_declarator "***ppppuVar16" * (pointer_declarator "**ppppuVar16" * (pointer_declarator "*ppppuVar16" * identifier)))) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint ***pppuVar18;" type_identifier (pointer_declarator "***pppuVar18" * (pointer_declarator "**pppuVar18" * (pointer_declarator "*pppuVar18" * identifier))) ;) (declaration "uint **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "uint **ppuVar20;" type_identifier (pointer_declarator "**ppuVar20" * (pointer_declarator "*ppuVar20" * identifier)) ;) (declaration "uint ****ppppuVar21;" type_identifier (pointer_declarator "****ppppuVar21" * (pointer_declarator "***ppppuVar21" * (pointer_declarator "**ppppuVar21" * (pointer_declarator "*ppppuVar21" * identifier)))) ;) (declaration "uint ****ppppuVar22;" type_identifier (pointer_declarator "****ppppuVar22" * (pointer_declarator "***ppppuVar22" * (pointer_declarator "**ppppuVar22" * (pointer_declarator "*ppppuVar22" * identifier)))) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint ****unaff_s8;" type_identifier (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "float fVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "undefined4 uStack_1e4;" type_identifier identifier ;) (declaration "uint ***pppuStack_1dc;" type_identifier (pointer_declarator "***pppuStack_1dc" * (pointer_declarator "**pppuStack_1dc" * (pointer_declarator "*pppuStack_1dc" * identifier))) ;) (declaration "uint **ppuStack_1d8;" type_identifier (pointer_declarator "**ppuStack_1d8" * (pointer_declarator "*ppuStack_1d8" * identifier)) ;) (declaration "uint **ppuStack_1d4;" type_identifier (pointer_declarator "**ppuStack_1d4" * (pointer_declarator "*ppuStack_1d4" * identifier)) ;) (declaration "uint **ppuStack_1d0;" type_identifier (pointer_declarator "**ppuStack_1d0" * (pointer_declarator "*ppuStack_1d0" * identifier)) ;) (declaration "uint **ppuStack_1cc;" type_identifier (pointer_declarator "**ppuStack_1cc" * (pointer_declarator "*ppuStack_1cc" * identifier)) ;) (declaration "uint ***pppuStack_1c8;" type_identifier (pointer_declarator "***pppuStack_1c8" * (pointer_declarator "**pppuStack_1c8" * (pointer_declarator "*pppuStack_1c8" * identifier))) ;) (declaration "undefined4 uStack_1c4;" type_identifier identifier ;) (declaration "undefined4 uStack_1c0;" type_identifier identifier ;) (declaration "uint ***pppuStack_1bc;" type_identifier (pointer_declarator "***pppuStack_1bc" * (pointer_declarator "**pppuStack_1bc" * (pointer_declarator "*pppuStack_1bc" * identifier))) ;) (declaration "undefined4 *puStack_1b8;" type_identifier (pointer_declarator "*puStack_1b8" * identifier) ;) (declaration "uint ***pppuStack_1b4;" type_identifier (pointer_declarator "***pppuStack_1b4" * (pointer_declarator "**pppuStack_1b4" * (pointer_declarator "*pppuStack_1b4" * identifier))) ;) (declaration "int iStack_1b0;" primitive_type identifier ;) (declaration "int iStack_1ac;" primitive_type identifier ;) (declaration "uint ***pppuStack_1a4;" type_identifier (pointer_declarator "***pppuStack_1a4" * (pointer_declarator "**pppuStack_1a4" * (pointer_declarator "*pppuStack_1a4" * identifier))) ;) (declaration "uint ***pppuStack_1a0;" type_identifier (pointer_declarator "***pppuStack_1a0" * (pointer_declarator "**pppuStack_1a0" * (pointer_declarator "*pppuStack_1a0" * identifier))) ;) (declaration "uint ***pppuStack_19c;" type_identifier (pointer_declarator "***pppuStack_19c" * (pointer_declarator "**pppuStack_19c" * (pointer_declarator "*pppuStack_19c" * identifier))) ;) (declaration "undefined4 *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "int iStack_194;" primitive_type identifier ;) (declaration "int iStack_190;" primitive_type identifier ;) (declaration "uint ***pppuStack_18c;" type_identifier (pointer_declarator "***pppuStack_18c" * (pointer_declarator "**pppuStack_18c" * (pointer_declarator "*pppuStack_18c" * identifier))) ;) (declaration "uint ***pppuStack_188;" type_identifier (pointer_declarator "***pppuStack_188" * (pointer_declarator "**pppuStack_188" * (pointer_declarator "*pppuStack_188" * identifier))) ;) (declaration "code *pcStack_184;" type_identifier (pointer_declarator "*pcStack_184" * identifier) ;) (declaration "uint ***pppuStack_170;" type_identifier (pointer_declarator "***pppuStack_170" * (pointer_declarator "**pppuStack_170" * (pointer_declarator "*pppuStack_170" * identifier))) ;) (declaration "uint ***pppuStack_16c;" type_identifier (pointer_declarator "***pppuStack_16c" * (pointer_declarator "**pppuStack_16c" * (pointer_declarator "*pppuStack_16c" * identifier))) ;) (declaration "code *pcStack_168;" type_identifier (pointer_declarator "*pcStack_168" * identifier) ;) (declaration "undefined4 uStack_15c;" type_identifier identifier ;) (declaration "uint ***pppuStack_158;" type_identifier (pointer_declarator "***pppuStack_158" * (pointer_declarator "**pppuStack_158" * (pointer_declarator "*pppuStack_158" * identifier))) ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "int *piStack_14c;" primitive_type (pointer_declarator "*piStack_14c" * identifier) ;) (declaration "uint ***pppuStack_148;" type_identifier (pointer_declarator "***pppuStack_148" * (pointer_declarator "**pppuStack_148" * (pointer_declarator "*pppuStack_148" * identifier))) ;) (declaration "uint **ppuStack_144;" type_identifier (pointer_declarator "**ppuStack_144" * (pointer_declarator "*ppuStack_144" * identifier)) ;) (declaration "uint ***pppuStack_140;" type_identifier (pointer_declarator "***pppuStack_140" * (pointer_declarator "**pppuStack_140" * (pointer_declarator "*pppuStack_140" * identifier))) ;) (declaration "uint ***pppuStack_13c;" type_identifier (pointer_declarator "***pppuStack_13c" * (pointer_declarator "**pppuStack_13c" * (pointer_declarator "*pppuStack_13c" * identifier))) ;) (declaration "uint ***pppuStack_138;" type_identifier (pointer_declarator "***pppuStack_138" * (pointer_declarator "**pppuStack_138" * (pointer_declarator "*pppuStack_138" * identifier))) ;) (declaration "undefined4 *puStack_134;" type_identifier (pointer_declarator "*puStack_134" * identifier) ;) (declaration "int iStack_130;" primitive_type identifier ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "uint ***pppuStack_128;" type_identifier (pointer_declarator "***pppuStack_128" * (pointer_declarator "**pppuStack_128" * (pointer_declarator "*pppuStack_128" * identifier))) ;) (declaration "uint ***pppuStack_124;" type_identifier (pointer_declarator "***pppuStack_124" * (pointer_declarator "**pppuStack_124" * (pointer_declarator "*pppuStack_124" * identifier))) ;) (declaration "uint ***pppuStack_120;" type_identifier (pointer_declarator "***pppuStack_120" * (pointer_declarator "**pppuStack_120" * (pointer_declarator "*pppuStack_120" * identifier))) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "uint ***pppuStack_100;" type_identifier (pointer_declarator "***pppuStack_100" * (pointer_declarator "**pppuStack_100" * (pointer_declarator "*pppuStack_100" * identifier))) ;) (declaration "uint ***pppuStack_fc;" type_identifier (pointer_declarator "***pppuStack_fc" * (pointer_declarator "**pppuStack_fc" * (pointer_declarator "*pppuStack_fc" * identifier))) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "uint ***pppuStack_f4;" type_identifier (pointer_declarator "***pppuStack_f4" * (pointer_declarator "**pppuStack_f4" * (pointer_declarator "*pppuStack_f4" * identifier))) ;) (declaration "undefined *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_e0;" type_identifier identifier ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "uint **ppuStack_d4;" type_identifier (pointer_declarator "**ppuStack_d4" * (pointer_declarator "*ppuStack_d4" * identifier)) ;) (declaration "uint **ppuStack_d0;" type_identifier (pointer_declarator "**ppuStack_d0" * (pointer_declarator "*ppuStack_d0" * identifier)) ;) (declaration "uint **ppuStack_cc;" type_identifier (pointer_declarator "**ppuStack_cc" * (pointer_declarator "*ppuStack_cc" * identifier)) ;) (declaration "uint **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "uint ***pppuStack_c4;" type_identifier (pointer_declarator "***pppuStack_c4" * (pointer_declarator "**pppuStack_c4" * (pointer_declarator "*pppuStack_c4" * identifier))) ;) (declaration "uint ***pppuStack_c0;" type_identifier (pointer_declarator "***pppuStack_c0" * (pointer_declarator "**pppuStack_c0" * (pointer_declarator "*pppuStack_c0" * identifier))) ;) (declaration "int iStack_bc;" primitive_type identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "uint ***pppuStack_b4;" type_identifier (pointer_declarator "***pppuStack_b4" * (pointer_declarator "**pppuStack_b4" * (pointer_declarator "*pppuStack_b4" * identifier))) ;) (declaration "uint ***pppuStack_b0;" type_identifier (pointer_declarator "***pppuStack_b0" * (pointer_declarator "**pppuStack_b0" * (pointer_declarator "*pppuStack_b0" * identifier))) ;) (declaration "uint ***pppuStack_ac;" type_identifier (pointer_declarator "***pppuStack_ac" * (pointer_declarator "**pppuStack_ac" * (pointer_declarator "*pppuStack_ac" * identifier))) ;) (declaration "uint ***pppuStack_a8;" type_identifier (pointer_declarator "***pppuStack_a8" * (pointer_declarator "**pppuStack_a8" * (pointer_declarator "*pppuStack_a8" * identifier))) ;) (declaration "uint ***pppuStack_a4;" type_identifier (pointer_declarator "***pppuStack_a4" * (pointer_declarator "**pppuStack_a4" * (pointer_declarator "*pppuStack_a4" * identifier))) ;) (declaration "uint ***pppuStack_a0;" type_identifier (pointer_declarator "***pppuStack_a0" * (pointer_declarator "**pppuStack_a0" * (pointer_declarator "*pppuStack_a0" * identifier))) ;) (declaration "uint ***pppuStack_9c;" type_identifier (pointer_declarator "***pppuStack_9c" * (pointer_declarator "**pppuStack_9c" * (pointer_declarator "*pppuStack_9c" * identifier))) ;) (declaration "uint ***pppuStack_98;" type_identifier (pointer_declarator "***pppuStack_98" * (pointer_declarator "**pppuStack_98" * (pointer_declarator "*pppuStack_98" * identifier))) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "int iStack_90;" primitive_type identifier ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "uint ***pppuStack_88;" type_identifier (pointer_declarator "***pppuStack_88" * (pointer_declarator "**pppuStack_88" * (pointer_declarator "*pppuStack_88" * identifier))) ;) (declaration "uint ***pppuStack_84;" type_identifier (pointer_declarator "***pppuStack_84" * (pointer_declarator "**pppuStack_84" * (pointer_declarator "*pppuStack_84" * identifier))) ;) (declaration "uint ***pppuStack_80;" type_identifier (pointer_declarator "***pppuStack_80" * (pointer_declarator "**pppuStack_80" * (pointer_declarator "*pppuStack_80" * identifier))) ;) (declaration "code *pcStack_7c;" type_identifier (pointer_declarator "*pcStack_7c" * identifier) ;) (declaration "uint ***local_5c;" type_identifier (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier))) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "uint ***local_54;" type_identifier (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))) ;) (declaration "uint ***local_50;" type_identifier (pointer_declarator "***local_50" * (pointer_declarator "**local_50" * (pointer_declarator "*local_50" * identifier))) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "uint ***local_3c;" type_identifier (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier))) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint ***local_30;" type_identifier (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))) ;) (declaration "uint ***local_2c;" type_identifier (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar2 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(uint ****)PTR___stack_chk_guard_003a9230" * (cast_expression "(uint ****)PTR___stack_chk_guard_003a9230" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_9)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);" (assignment_expression "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" identifier = (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_9)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      )" ( (binary_expression "(iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" ( (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = param_4;" (assignment_expression "ppppuVar22 = param_4" identifier = identifier) ;) (if_statement "if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" if (parenthesized_expression "((int)param_4 < 0)" ( (binary_expression "(int)param_4 < 0" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" { (expression_statement "ppppuVar22 = (uint ****)((int)param_4 + 0x3f);" (assignment_expression "ppppuVar22 = (uint ****)((int)param_4 + 0x3f)" identifier = (cast_expression "(uint ****)((int)param_4 + 0x3f)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)param_4 + 0x3f)" ( (binary_expression "(int)param_4 + 0x3f" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);" (assignment_expression "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6)" identifier = (cast_expression "(uint ****)((int)ppppuVar22 >> 6)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar22 >> 6)" ( (binary_expression "(int)ppppuVar22 >> 6" (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s8)" ( (binary_expression "extraout_v1 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)param_4 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)param_4 < 0x80;\n    }" { (expression_statement "bVar1 = (int)param_4 < 0x80;" (assignment_expression "bVar1 = (int)param_4 < 0x80" identifier = (binary_expression "(int)param_4 < 0x80" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" if (parenthesized_expression "(((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8))" ( (binary_expression "((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) , (comma_expression "ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (assignment_expression "ppppuVar22 = unaff_s8" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s8" identifier < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = extraout_v1_03;" (assignment_expression "ppppuVar22 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s8 = extraout_v1_03;" (assignment_expression "unaff_s8 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" else (compound_statement "{\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" { (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" { (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (goto_statement "goto LAB_001c6ec4;" goto statement_identifier ;) })) })) (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "ppppuVar22 = extraout_v1_00;" (assignment_expression "ppppuVar22 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      ppppuVar22 = (uint ****)0x2;\n    }" else (compound_statement "{\n      ppppuVar22 = (uint ****)0x2;\n    }" { (expression_statement "ppppuVar22 = (uint ****)0x2;" (assignment_expression "ppppuVar22 = (uint ****)0x2" identifier = (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_001c6ec4:\n  ppppuVar13 = &local_5c;" statement_identifier : (expression_statement "ppppuVar13 = &local_5c;" (assignment_expression "ppppuVar13 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;)) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" identifier = identifier) ;) (expression_statement "local_44 = param_7;" (assignment_expression "local_44 = param_7" identifier = identifier) ;) (expression_statement "local_3c = (uint ***)param_9;" (assignment_expression "local_3c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_48 = param_6;" (assignment_expression "local_48 = param_6" identifier = identifier) ;) (expression_statement "local_4c = param_5;" (assignment_expression "local_4c = param_5" identifier = identifier) ;) (expression_statement "local_30 = (uint ***)0x1;" (assignment_expression "local_30 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_5c = (uint ***)param_1;" (assignment_expression "local_5c = (uint ***)param_1" identifier = (cast_expression "(uint ***)param_1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (expression_statement "local_54 = (uint ***)param_3;" (assignment_expression "local_54 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_50 = (uint ***)param_4;" (assignment_expression "local_50 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_38 = iVar3;" (assignment_expression "local_38 = iVar3" identifier = identifier) ;) (expression_statement "local_34 = iVar4;" (assignment_expression "local_34 = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" ( (binary_expression "PTR_LAB_003a89a0 + 0x5be0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "ppppuVar7 = (uint ****)local_30;" (assignment_expression "ppppuVar7 = (uint ****)local_30" identifier = (cast_expression "(uint ****)local_30" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }" if (parenthesized_expression "((uint ****)local_2c == *(uint *****)puVar2)" ( (binary_expression "(uint ****)local_2c == *(uint *****)puVar2" (cast_expression "(uint ****)local_2c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (pointer_expression "*(uint *****)puVar2" * (cast_expression "(uint *****)puVar2" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) )) (compound_statement "{\n    return ppppuVar7;\n  }" { (return_statement "return ppppuVar7;" return identifier ;) })) (expression_statement "pcVar28 = ChopImage;" (assignment_expression "pcVar28 = ChopImage" identifier = identifier) ;) (expression_statement "ppppuVar21 = (uint ****)local_2c;" (assignment_expression "ppppuVar21 = (uint ****)local_2c" identifier = (cast_expression "(uint ****)local_2c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puVar25 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar25 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar27 = puVar25 + 0x1e9808;" (assignment_expression "puVar27 = puVar25 + 0x1e9808" identifier = (binary_expression "puVar25 + 0x1e9808" identifier + number_literal)) ;) (expression_statement "puStack_94 = puVar2;" (assignment_expression "puStack_94 = puVar2" identifier = identifier) ;) (expression_statement "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);" (assignment_expression "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + 0x1e2188)" * (cast_expression "(undefined4 **)(puVar25 + 0x1e2188)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2188)" ( (binary_expression "puVar25 + 0x1e2188" identifier + number_literal) ))))) ;) (expression_statement "pppuStack_9c = (uint ***)param_9;" (assignment_expression "pppuStack_9c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_a0 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_a0 = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_a4 = (uint ***)*puVar23;" (assignment_expression "pppuStack_a4 = (uint ***)*puVar23" identifier = (cast_expression "(uint ***)*puVar23" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*puVar23" * identifier))) ;) (expression_statement "puStack_f0 = puVar27;" (assignment_expression "puStack_f0 = puVar27" identifier = identifier) ;) (expression_statement "pppuStack_98 = (uint ***)param_1;" (assignment_expression "pppuStack_98 = (uint ***)param_1" identifier = (cast_expression "(uint ***)param_1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_90 = iVar3;" (assignment_expression "iStack_90 = iVar3" identifier = identifier) ;) (expression_statement "iStack_8c = iVar4;" (assignment_expression "iStack_8c = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_88 = (uint ***)param_4;" (assignment_expression "pppuStack_88 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_84 = (uint ***)param_3;" (assignment_expression "pppuStack_84 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_80 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_80 = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_7c = pcVar28;" (assignment_expression "pcStack_7c = pcVar28" identifier = identifier) ;) (if_statement "if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x0)" ( (binary_expression "ppppuVar21 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }" { (labeled_statement "LAB_001c777c:\n    ppppuVar22 = param_1;" statement_identifier : (expression_statement "ppppuVar22 = param_1;" (assignment_expression "ppppuVar22 = param_1" identifier = identifier) ;)) (expression_statement "ppppuVar21 = ppppuVar7;" (assignment_expression "ppppuVar21 = ppppuVar7" identifier = identifier) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);" (assignment_expression "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" identifier = (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" else (compound_statement "{\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" { (if_statement "if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" if (parenthesized_expression "(ppppuVar21[0xcdb] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar21[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar21[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" { (labeled_statement "LAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" * (cast_expression "(int *)(puVar27 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc8)" ( (binary_expression "puVar27 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "ppppuVar7 = ppppuVar21;" (assignment_expression "ppppuVar7 = ppppuVar21" identifier = identifier) ;) (goto_statement "goto LAB_001c777c;" goto statement_identifier ;) })) (if_statement "if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" if (parenthesized_expression "(ppppuVar21[0xcd4] != (uint ***)0x0)" ( (binary_expression "ppppuVar21[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar21[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" { (expression_statement "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);" (assignment_expression "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0)" identifier = (cast_expression "(uint ***)(ppppuVar21 + 0xd0)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppuVar21 + 0xd0)" ( (binary_expression "ppppuVar21 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);" (assignment_expression "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" identifier = (cast_expression "(uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" ( (binary_expression "*(int *)(puVar25 + 0x1e183c) + -0x62ac" (pointer_expression "*(int *)(puVar25 + 0x1e183c)" * (cast_expression "(int *)(puVar25 + 0x1e183c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e183c)" ( (binary_expression "puVar25 + 0x1e183c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);" (call_expression "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" (parenthesized_expression "(**(code **)(puVar25 + 0x1e2138))" ( (pointer_expression "**(code **)(puVar25 + 0x1e2138)" * (pointer_expression "*(code **)(puVar25 + 0x1e2138)" * (cast_expression "(code **)(puVar25 + 0x1e2138)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x1e2138)" ( (binary_expression "puVar25 + 0x1e2138" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" ( number_literal , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x288c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x262c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" * (cast_expression "(int *)(puVar25 + 0x1e1844)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1e1844)" ( (binary_expression "puVar25 + 0x1e1844" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" if (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" ( (binary_expression "ppppuVar22 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;" (call_expression "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x72a8))" ( (pointer_expression "**(code **)(puStack_f0 + -0x72a8)" * (pointer_expression "*(code **)(puStack_f0 + -0x72a8)" * (cast_expression "(code **)(puStack_f0 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x72a8)" ( (binary_expression "puStack_f0 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) , identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001c771c:\n      iVar17 = iVar17 + -0x2620;" statement_identifier : (expression_statement "iVar17 = iVar17 + -0x2620;" (assignment_expression "iVar17 = iVar17 + -0x2620" identifier = (binary_expression "iVar17 + -0x2620" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" ( (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2874" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar5 + -0x288c" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" statement_identifier : (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" ( (pointer_expression "**(code **)(puVar27 + -0x72a8)" * (pointer_expression "*(code **)(puVar27 + -0x72a8)" * (cast_expression "(code **)(puVar27 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x72a8)" ( (binary_expression "puVar27 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" ( (binary_expression "*(int *)(puVar27 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(puVar27 + -0x7fd0)" * (cast_expression "(int *)(puVar27 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fd0)" ( (binary_expression "puVar27 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" * (cast_expression "(int *)(puVar27 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x7fc4)" ( (binary_expression "puVar27 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar17 + -0x2620" identifier + number_literal) ))) ;)) (expression_statement "param_9 = ppppuVar13;" (assignment_expression "param_9 = ppppuVar13" identifier = identifier) ;) (expression_statement "param_1 = ppppuVar22;" (assignment_expression "param_1 = ppppuVar22" identifier = identifier) ;) (goto_statement "goto LAB_001c7758;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;" if (parenthesized_expression "(ppppuVar22[7] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar22[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar22[7]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c7738;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c771c;" goto statement_identifier ;)) (expression_statement "pppuVar6 = ppppuVar13[2];" (assignment_expression "pppuVar6 = ppppuVar13[2]" identifier = (subscript_expression "ppppuVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppuVar12 = *ppppuVar13;" (assignment_expression "pppuVar12 = *ppppuVar13" identifier = (pointer_expression "*ppppuVar13" * identifier)) ;) (if_statement "if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" if (parenthesized_expression "((int)pppuVar6 + (int)pppuVar12 < 0)" ( (binary_expression "(int)pppuVar6 + (int)pppuVar12 < 0" (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }" { (labeled_statement "LAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;" statement_identifier : (expression_statement "ppppuVar21 = ppppuVar21 + 0xd0;" (assignment_expression "ppppuVar21 = ppppuVar21 + 0xd0" identifier = (binary_expression "ppppuVar21 + 0xd0" identifier + number_literal)) ;)) (expression_statement "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_9 = (uint ****)0x0;" (assignment_expression "param_9 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);" (assignment_expression "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" identifier = (cast_expression "(uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" ( (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x16bc" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" * (cast_expression "(int *)(puStack_f0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fd0)" ( (binary_expression "puStack_f0 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuStack_100 = (uint ***)0x136;" (assignment_expression "pppuStack_100 = (uint ***)0x136" identifier = (cast_expression "(uint ***)0x136" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_f4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_f4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);" (call_expression "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7990))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7990)" * (pointer_expression "*(code **)(puStack_f0 + -0x7990)" * (cast_expression "(code **)(puStack_f0 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7990)" ( (binary_expression "puStack_f0 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" ( identifier , identifier , (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x262c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" * (cast_expression "(int *)(puStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7fc4)" ( (binary_expression "puStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" else (compound_statement "{\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" { (expression_statement "pppuVar10 = ppppuVar13[3];" (assignment_expression "pppuVar10 = ppppuVar13[3]" identifier = (subscript_expression "ppppuVar13[3]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];" (assignment_expression "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1]" identifier = (binary_expression "(int)pppuVar10 + (int)ppppuVar13[1]" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppuVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;" if (parenthesized_expression "((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))" ( (binary_expression "(iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) || (parenthesized_expression "(pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" ( (comma_expression "pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6" (assignment_expression "pppuVar18 = ppppuVar21[6]" identifier = (subscript_expression "ppppuVar21[6]" identifier [ number_literal ])) , (binary_expression "(int)pppuVar18 < (int)pppuVar6" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (expression_statement "pppuVar14 = ppppuVar21[7];" (assignment_expression "pppuVar14 = ppppuVar21[7]" identifier = (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;" if (parenthesized_expression "((int)pppuVar14 < (int)pppuVar10)" ( (binary_expression "(int)pppuVar14 < (int)pppuVar10" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001c7544;" goto statement_identifier ;)) (if_statement "if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" if (parenthesized_expression "((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12)" ( (binary_expression "(int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6)" identifier = (cast_expression "(uint ***)((int)pppuVar18 - (int)pppuVar6)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar18 - (int)pppuVar6)" ( (binary_expression "(int)pppuVar18 - (int)pppuVar6" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)pppuVar14 - (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar14 - (int)pppuVar10)" ( (binary_expression "(int)pppuVar14 - (int)pppuVar10" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" if (parenthesized_expression "(iVar5 <= (int)pppuVar14)" ( (binary_expression "iVar5 <= (int)pppuVar14" identifier <= (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" { (expression_statement "ppuStack_d0 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_d0 = (uint **)ppppuVar13[1]" identifier = (cast_expression "(uint **)ppppuVar13[1]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]))) ;) })) (expression_statement "ppuStack_d4 = (uint **)pppuVar12;" (assignment_expression "ppuStack_d4 = (uint **)pppuVar12" identifier = (cast_expression "(uint **)pppuVar12" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_cc = (uint **)pppuVar6" identifier = (cast_expression "(uint **)pppuVar6" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar6 < 0)" ( (binary_expression "(int)pppuVar6 < 0" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" { (expression_statement "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);" (assignment_expression "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6)" identifier = (cast_expression "(uint **)((int)pppuVar12 + (int)pppuVar6)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar12 + (int)pppuVar6)" ( (binary_expression "(int)pppuVar12 + (int)pppuVar6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_cc = (uint **)0x0;" (assignment_expression "ppuStack_cc = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "ppuStack_c8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_c8 = (uint **)pppuVar10" identifier = (cast_expression "(uint **)pppuVar10" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar10 < 0)" ( (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" { (expression_statement "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)ppuStack_d0 + (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_d0 + (int)pppuVar10)" ( (binary_expression "(int)ppuStack_d0 + (int)pppuVar10" (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_c8 = (uint **)0x0;" (assignment_expression "ppuStack_c8 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);" (assignment_expression "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4)" identifier = (cast_expression "(uint ****)((int)pppuVar18 - (int)ppuStack_d4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppuVar18 - (int)ppuStack_d4)" ( (binary_expression "(int)pppuVar18 - (int)ppuStack_d4" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppuStack_100 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_100 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);" (assignment_expression "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" identifier = (cast_expression "(uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7080))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7080)" * (pointer_expression "*(code **)(puStack_f0 + -0x7080)" * (cast_expression "(code **)(puStack_f0 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7080)" ( (binary_expression "puStack_f0 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" ( identifier , identifier , (binary_expression "(int)pppuVar14 - (int)ppuStack_d0" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal ))))) ;) (if_statement "if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" if (parenthesized_expression "(param_9 != (uint ****)0x0)" ( (binary_expression "param_9 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" { (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "uStack_e0 = 0;" (assignment_expression "uStack_e0 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);" (assignment_expression "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x715c))" ( (pointer_expression "**(code **)(puStack_f0 + -0x715c)" * (pointer_expression "*(code **)(puStack_f0 + -0x715c)" * (cast_expression "(code **)(puStack_f0 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x715c)" ( (binary_expression "puStack_f0 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21,ppppuVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);" (assignment_expression "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79dc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79dc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79dc)" * (cast_expression "(code **)(puStack_f0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79dc)" ( (binary_expression "puStack_f0 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(param_9,ppppuVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" identifier = (cast_expression "(uint ***)ppuStack_c8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" if (parenthesized_expression "((int)ppuStack_c8 < 0)" ( (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" { (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" identifier = (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" ( (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_04 < (int)pppuVar6 >> 6)" ( (binary_expression "extraout_v1_04 < (int)pppuVar6 >> 6" identifier < (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_08 < 2;" (assignment_expression "bVar1 = extraout_v1_08 < 2" identifier = (binary_expression "extraout_v1_08 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" { (expression_statement "bVar1 = (int)ppuStack_c8 < 0x80;" (assignment_expression "bVar1 = (int)ppuStack_c8 < 0x80" identifier = (binary_expression "(int)ppuStack_c8 < 0x80" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" identifier = (cast_expression "(uint ***)ppuStack_c8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" if (parenthesized_expression "((int)ppuStack_c8 < 0)" ( (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" { (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" identifier = (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" ( (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar5 = (int)pppuVar6 >> 6;" (assignment_expression "iVar5 = (int)pppuVar6 >> 6" identifier = (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" if (parenthesized_expression "(extraout_v1_09 < iVar5)" ( (binary_expression "extraout_v1_09 < iVar5" identifier < identifier) )) (compound_statement "{\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c75c4;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" else (compound_statement "{\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" { (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c727c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" if (parenthesized_expression "(1 < (uint)uVar33)" ( (binary_expression "1 < (uint)uVar33" number_literal < (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001c7280;" goto statement_identifier ;)) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" else (compound_statement "{\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" { (labeled_statement "LAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c7280:\n            uVar33 = (*pcVar28)(7);" statement_identifier : (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }" { (labeled_statement "LAB_001c75c4:\n              (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_07;" (assignment_expression "iVar5 = extraout_v1_07" identifier = identifier) ;) }) (else_clause "else {\n              iVar5 = 2;\n            }" else (compound_statement "{\n              iVar5 = 2;\n            }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }))) (expression_statement "puStack_e4 = &uStack_e0;" (assignment_expression "puStack_e4 = &uStack_e0" identifier = (pointer_expression "&uStack_e0" & identifier)) ;) (expression_statement "param_3 = &pppuStack_c4;" (assignment_expression "param_3 = &pppuStack_c4" identifier = (pointer_expression "&pppuStack_c4" & identifier)) ;) (expression_statement "param_4 = (uint ****)&ppuStack_d4;" (assignment_expression "param_4 = (uint ****)&ppuStack_d4" identifier = (cast_expression "(uint ****)&ppuStack_d4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppuStack_d4" & identifier))) ;) (expression_statement "pppuStack_a8 = (uint ***)0x1;" (assignment_expression "pppuStack_a8 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" identifier = identifier) ;) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" identifier = identifier) ;) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_b0 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_b0 = (uint ***)puStack_e4" identifier = (cast_expression "(uint ***)puStack_e4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_ac = (uint ***)param_4;" (assignment_expression "pppuStack_ac = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4ed8,param_3,iVar5,0)" ( (binary_expression "iVar17 + 0x4ed8" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "unaff_s8 = (uint ****)pppuStack_a8;" (assignment_expression "unaff_s8 = (uint ****)pppuStack_a8" identifier = (cast_expression "(uint ****)pppuStack_a8" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar21)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" * (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" * (cast_expression "(code **)(puStack_f0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x73fc)" ( (binary_expression "puStack_f0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" identifier = (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) - (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" ( (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = iVar17;" (assignment_expression "iVar5 = iVar17" identifier = identifier) ;) (if_statement "if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar5 = iVar17 + 0x3f;\n          }" { (expression_statement "iVar5 = iVar17 + 0x3f;" (assignment_expression "iVar5 = iVar17 + 0x3f" identifier = (binary_expression "iVar17 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar5 >> 6)" ( (binary_expression "extraout_v1_05 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar17 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar17 < 0x80;\n          }" { (expression_statement "bVar1 = iVar17 < 0x80;" (assignment_expression "bVar1 = iVar17 < 0x80" identifier = (binary_expression "iVar17 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" { (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" identifier = (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar21[7]" identifier [ number_literal ])) - (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" ( (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar5 = iVar5 + 0x3f;\n            }" { (expression_statement "iVar5 = iVar5 + 0x3f;" (assignment_expression "iVar5 = iVar5 + 0x3f" identifier = (binary_expression "iVar5 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" identifier = (binary_expression "iVar5 >> 6" identifier >> number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_10 < iVar5) goto LAB_001c75a4;" if (parenthesized_expression "(extraout_v1_10 < iVar5)" ( (binary_expression "extraout_v1_10 < iVar5" identifier < identifier) )) (goto_statement "goto LAB_001c75a4;" goto statement_identifier ;)) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" else (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" { (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7774)" * (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }" { (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" { (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c732c;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c7344;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" else (compound_statement "{\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" { (labeled_statement "LAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" statement_identifier : (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" identifier = (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" ( (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_f0 + -0x7774)" * (cast_expression "(code **)(puStack_f0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7774)" ( (binary_expression "puStack_f0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }" { (labeled_statement "LAB_001c75a4:\n            (*pcVar28)(7);" statement_identifier : (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_06;" (assignment_expression "iVar5 = extraout_v1_06" identifier = identifier) ;) }) (else_clause "else {\n            iVar5 = 2;\n          }" else (compound_statement "{\n            iVar5 = 2;\n          }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);" statement_identifier : (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" identifier = (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" * (cast_expression "(int *)(puStack_f0 + -0x7f10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_f0 + -0x7f10)" ( (binary_expression "puStack_f0 + -0x7f10" identifier + number_literal) ))))) ;)) }))) (expression_statement "pppuStack_a8 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_a8 = (uint ***)puStack_e4" identifier = (cast_expression "(uint ***)puStack_e4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_ac = (uint ***)unaff_s8;" (assignment_expression "pppuStack_ac = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13 = param_3;" (assignment_expression "ppppuVar13 = param_3" identifier = identifier) ;) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" identifier = identifier) ;) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" identifier = identifier) ;) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_b0 = (uint ***)param_4;" (assignment_expression "pppuStack_b0 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7718)" * (pointer_expression "*(code **)(puStack_f0 + -0x7718)" * (cast_expression "(code **)(puStack_f0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7718)" ( (binary_expression "puStack_f0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x4bf0,param_3,iVar5,0)" ( (binary_expression "iVar17 + 0x4bf0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "ppppuVar22 = (uint ****)pppuStack_ac;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_ac" identifier = (cast_expression "(uint ****)pppuStack_ac" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar4);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar3);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar3)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" ( (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" * (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" * (cast_expression "(code **)(puStack_f0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x79bc)" ( (binary_expression "puStack_f0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "param_9[0xa8] = ppppuVar21[0xa8];" (assignment_expression "param_9[0xa8] = ppppuVar21[0xa8]" (subscript_expression "param_9[0xa8]" identifier [ number_literal ]) = (subscript_expression "ppppuVar21[0xa8]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" if (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" ( (binary_expression "ppppuVar22 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" { (expression_statement "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);" (assignment_expression "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" identifier = (cast_expression "(uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_f0 + -0x7964))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7964))" ( (pointer_expression "**(code **)(puStack_f0 + -0x7964)" * (pointer_expression "*(code **)(puStack_f0 + -0x7964)" * (cast_expression "(code **)(puStack_f0 + -0x7964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_f0 + -0x7964)" ( (binary_expression "puStack_f0 + -0x7964" identifier + number_literal) ))))) )) (argument_list "(param_9)" ( identifier ))))) ;) })) })) }))) (expression_statement "ppppuVar7 = (uint ****)pppuStack_a4;" (assignment_expression "ppppuVar7 = (uint ****)pppuStack_a4" identifier = (cast_expression "(uint ****)pppuStack_a4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" identifier = identifier) ;) (if_statement "if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }" if (parenthesized_expression "((uint ****)pppuStack_a4 == (uint ****)*puVar23)" ( (binary_expression "(uint ****)pppuStack_a4 == (uint ****)*puVar23" (cast_expression "(uint ****)pppuStack_a4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)*puVar23" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar23" * identifier))) )) (compound_statement "{\n      return param_9;\n    }" { (return_statement "return param_9;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(puVar27 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(puVar27 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar27 + -0x784c)" * (cast_expression "(code **)(puVar27 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x784c)" ( (binary_expression "puVar27 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = ConsolidateCMYKImages;" (assignment_expression "pcVar29 = ConsolidateCMYKImages" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar28 = pcVar26 + 0x1e9104;" (assignment_expression "pcVar28 = pcVar26 + 0x1e9104" identifier = (binary_expression "pcVar26 + 0x1e9104" identifier + number_literal)) ;) (expression_statement "piStack_14c = *(int **)(pcVar26 + 0x1e1a84);" (assignment_expression "piStack_14c = *(int **)(pcVar26 + 0x1e1a84)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x1e1a84)" * (cast_expression "(int **)(pcVar26 + 0x1e1a84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a84)" ( (binary_expression "pcVar26 + 0x1e1a84" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar15 = (uint ****)&DAT_000001b4;" (assignment_expression "ppppuVar15 = (uint ****)&DAT_000001b4" identifier = (cast_expression "(uint ****)&DAT_000001b4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_000001b4" & identifier))) ;) (expression_statement "ppuStack_144 = (uint **)*piStack_14c;" (assignment_expression "ppuStack_144 = (uint **)*piStack_14c" identifier = (cast_expression "(uint **)*piStack_14c" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piStack_14c" * identifier))) ;) (expression_statement "pcStack_168 = pcVar28;" (assignment_expression "pcStack_168 = pcVar28" identifier = identifier) ;) (expression_statement "pppuStack_158 = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_158 = (uint ***)ppppuVar13" identifier = (cast_expression "(uint ***)ppppuVar13" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_140 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_140 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_13c = (uint ***)param_9;" (assignment_expression "pppuStack_13c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_138 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_138 = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "puStack_134 = puVar23;" (assignment_expression "puStack_134 = puVar23" identifier = identifier) ;) (expression_statement "iStack_130 = iVar3;" (assignment_expression "iStack_130 = iVar3" identifier = identifier) ;) (expression_statement "iStack_12c = iVar4;" (assignment_expression "iStack_12c = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_128 = (uint ***)param_4;" (assignment_expression "pppuStack_128 = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_124 = (uint ***)param_3;" (assignment_expression "pppuStack_124 = (uint ***)param_3" identifier = (cast_expression "(uint ***)param_3" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_120 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_120 = (uint ***)unaff_s8" identifier = (cast_expression "(uint ***)unaff_s8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar29;" (assignment_expression "pcStack_11c = pcVar29" identifier = identifier) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }" { (labeled_statement "LAB_001c7c28:\n    ppppuVar7 = param_3;" statement_identifier : (expression_statement "ppppuVar7 = param_3;" (assignment_expression "ppppuVar7 = param_3" identifier = identifier) ;)) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);" (assignment_expression "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" identifier = (cast_expression "(uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1e48" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + -0x72a8))();" (call_expression "(**(code **)(pcVar28 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" else (compound_statement "{\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" { (if_statement "if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" if (parenthesized_expression "(ppppuVar7[0xcdb] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar7[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar7[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);" (call_expression "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1e5c))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1e5c)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1e5c)" * (cast_expression "(code **)(pcVar26 + 0x1e1e5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1e5c)" ( (binary_expression "pcVar26 + 0x1e1e5c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1134) + 0x1e64" (pointer_expression "*(int *)(pcVar26 + 0x1e1134)" * (cast_expression "(int *)(pcVar26 + 0x1e1134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1134)" ( (binary_expression "pcVar26 + 0x1e1134" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x2644" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar28 + -0x72a8)" * (pointer_expression "*(code **)(pcVar28 + -0x72a8)" * (cast_expression "(code **)(pcVar28 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x72a8)" ( (binary_expression "pcVar28 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" ( (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" * (cast_expression "(int *)(pcVar28 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fd0)" ( (binary_expression "pcVar28 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" * (cast_expression "(int *)(pcVar28 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -0x7fc4)" ( (binary_expression "pcVar28 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;" statement_identifier : (expression_statement "ppppuVar15 = (uint ****)0x1c0;" (assignment_expression "ppppuVar15 = (uint ****)0x1c0" identifier = (cast_expression "(uint ****)0x1c0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "param_3 = ppppuVar7;" (assignment_expression "param_3 = ppppuVar7" identifier = identifier) ;) (goto_statement "goto LAB_001c7c28;" goto statement_identifier ;) })) (if_statement "if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" if (parenthesized_expression "(ppppuVar7[0xcd4] != (uint ***)0x0)" ( (binary_expression "ppppuVar7[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar7[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" { (expression_statement "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);" (assignment_expression "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0)" identifier = (cast_expression "(uint ***)(ppppuVar7 + 0xd0)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppuVar7 + 0xd0)" ( (binary_expression "ppppuVar7 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);" (assignment_expression "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x265c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" * (cast_expression "(int *)(pcVar26 + 0x1e1140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1140)" ( (binary_expression "pcVar26 + 0x1e1140" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);" (assignment_expression "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" identifier = (cast_expression "(uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" ( (binary_expression "*(int *)(pcVar26 + 0x1e1138) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x1e1138)" * (cast_expression "(int *)(pcVar26 + 0x1e1138)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1e1138)" ( (binary_expression "pcVar26 + 0x1e1138" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);" (call_expression "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1a34))" ( (pointer_expression "**(code **)(pcVar26 + 0x1e1a34)" * (pointer_expression "*(code **)(pcVar26 + 0x1e1a34)" * (cast_expression "(code **)(pcVar26 + 0x1e1a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1e1a34)" ( (binary_expression "pcVar26 + 0x1e1a34" identifier + number_literal) ))))) )) (argument_list "(0x8000,ppppuVar13,ppppuVar15,0x1b7)" ( number_literal , identifier , identifier , number_literal ))) ;) })) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;" if (parenthesized_expression "((uint ****)pppuStack_158 == (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_158 == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c7bdc;" goto statement_identifier ;)) (if_statement "if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;" if (parenthesized_expression "((uint ***)pppuStack_158[7] != (uint ***)0xabacadab)" ( (binary_expression "(uint ***)pppuStack_158[7] != (uint ***)0xabacadab" (cast_expression "(uint ***)pppuStack_158[7]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuStack_158[7]" identifier [ number_literal ])) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c7c00;" goto statement_identifier ;)) (expression_statement "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();" (assignment_expression "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" identifier = (cast_expression "(uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(pcStack_168 + -0x7a2c))()" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a2c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a2c)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a2c)" * (cast_expression "(code **)(pcStack_168 + -0x7a2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a2c)" ( (binary_expression "pcStack_168 + -0x7a2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_168 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_168 + -0x7fd0)" * (cast_expression "(int *)(pcStack_168 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_168 + -0x7fd0)" ( (binary_expression "pcStack_168 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier )))) ;) (if_statement "if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" if (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) (compound_statement "{\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" { (do_statement "do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);" do (compound_statement "{\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      }" { (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c7c24;" goto statement_identifier ;)) (expression_statement "ppppuVar15 = (uint ****)0x0;" (assignment_expression "ppppuVar15 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppuStack_170 = pppuStack_158;" (assignment_expression "pppuStack_170 = pppuStack_158" identifier = identifier) ;) (expression_statement "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);" (assignment_expression "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" identifier = (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7080))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7080)" * (pointer_expression "*(code **)(pcStack_168 + -0x7080)" * (cast_expression "(code **)(pcStack_168 + -0x7080)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7080)" ( (binary_expression "pcStack_168 + -0x7080" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,0,0,1)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "ppppuVar16 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar16 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (param_4 == (uint ****)0x0) break;" if (parenthesized_expression "(param_4 == (uint ****)0x0)" ( (binary_expression "param_4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "ppppuVar13 = (uint ****)0x1;" (assignment_expression "ppppuVar13 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar15 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar15 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x708c))(param_4)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x708c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x708c)" * (pointer_expression "*(code **)(pcStack_168 + -0x708c)" * (cast_expression "(code **)(pcStack_168 + -0x708c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x708c)" ( (binary_expression "pcStack_168 + -0x708c" identifier + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "ppppuVar21 = ppppuVar16;" (assignment_expression "ppppuVar21 = ppppuVar16" identifier = identifier) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(pcStack_168 + -0x7b70))(param_4,2);" (call_expression "(**(code **)(pcStack_168 + -0x7b70))(param_4,2)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_168 + -0x7b70)" * (cast_expression "(code **)(pcStack_168 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7b70)" ( (binary_expression "pcStack_168 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(param_4,2)" ( identifier , number_literal ))) ;) (expression_statement "ppppuVar21 = (uint ****)0x0;" (assignment_expression "ppppuVar21 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar15 = ppppuVar16;" (assignment_expression "ppppuVar15 = ppppuVar16" identifier = identifier) ;) (do_statement "do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));" do (compound_statement "{\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        }" { (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);" (assignment_expression "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x715c))" ( (pointer_expression "**(code **)(pcStack_168 + -0x715c)" * (pointer_expression "*(code **)(pcStack_168 + -0x715c)" * (cast_expression "(code **)(pcStack_168 + -0x715c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x715c)" ( (binary_expression "pcStack_168 + -0x715c" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,pppuStack_158)" ( identifier , identifier )))) ;) (expression_statement "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);" (assignment_expression "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79dc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79dc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79dc)" * (cast_expression "(code **)(pcStack_168 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79dc)" ( (binary_expression "pcStack_168 + -0x79dc" identifier + number_literal) ))))) )) (argument_list "(param_4,param_9)" ( identifier , identifier )))) ;) (if_statement "if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" if (parenthesized_expression "(0 < (int)ppppuVar7[7])" ( (binary_expression "0 < (int)ppppuVar7[7]" number_literal < (cast_expression "(int)ppppuVar7[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[7]" identifier [ number_literal ]))) )) (compound_statement "{\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" { (expression_statement "ppppuVar22 = (uint ****)0x0;" (assignment_expression "ppppuVar22 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (while_statement "while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" { (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" identifier = (cast_expression "(uint ****)pppuStack_158" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_16c = pppuStack_158;" (assignment_expression "pppuStack_16c = pppuStack_158" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);" (assignment_expression "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7254))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7254)" * (pointer_expression "*(code **)(pcStack_168 + -0x7254)" * (cast_expression "(code **)(pcStack_168 + -0x7254)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7254)" ( (binary_expression "pcStack_168 + -0x7254" identifier + number_literal) ))))) )) (argument_list "(uStack_154,0,ppppuVar22,ppppuVar7[6])" ( identifier , number_literal , identifier , (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]) )))) ;) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" identifier = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppuStack_16c = (uint ***)param_9;" (assignment_expression "pppuStack_16c = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar15 = ppppuVar22;" (assignment_expression "ppppuVar15 = ppppuVar22" identifier = identifier) ;) (expression_statement "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);" (assignment_expression "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" identifier = (cast_expression "(undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7c60))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7c60)" * (pointer_expression "*(code **)(pcStack_168 + -0x7c60)" * (cast_expression "(code **)(pcStack_168 + -0x7c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7c60)" ( (binary_expression "pcStack_168 + -0x7c60" identifier + number_literal) ))))) )) (argument_list "(uStack_15c,0,ppppuVar22,param_4[6])" ( identifier , number_literal , identifier , (subscript_expression "param_4[6]" identifier [ number_literal ]) ))))) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (if_statement "if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;" if (parenthesized_expression "(puVar23 == (undefined4 *)0x0)" ( (binary_expression "puVar23 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c7ab8;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" if (parenthesized_expression "(0 < (int)ppppuVar7[6])" ( (binary_expression "0 < (int)ppppuVar7[6]" number_literal < (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" { (expression_statement "param_9 = (uint ****)0x2;" (assignment_expression "param_9 = (uint ****)0x2" identifier = (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);" do (compound_statement "{\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                }" { (while_statement "while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" { (expression_statement "iVar4 = iVar5;" (assignment_expression "iVar4 = iVar5" identifier = identifier) ;) (expression_statement "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);" (assignment_expression "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" identifier = (cast_expression "(double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a58))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7a58)" * (pointer_expression "*(code **)(pcStack_168 + -0x7a58)" * (cast_expression "(code **)(pcStack_168 + -0x7a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7a58)" ( (binary_expression "pcStack_168 + -0x7a58" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7,iVar3)" ( identifier , identifier ))))) ;) (expression_statement "fVar31 = (float)(dVar32 - dVar30);" (assignment_expression "fVar31 = (float)(dVar32 - dVar30)" identifier = (cast_expression "(float)(dVar32 - dVar30)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(dVar32 - dVar30)" ( (binary_expression "dVar32 - dVar30" identifier - identifier) )))) ;) (if_statement "if (ppppuVar21 != (uint ****)0x2) break;" if (parenthesized_expression "(ppppuVar21 != (uint ****)0x2)" ( (binary_expression "ppppuVar21 != (uint ****)0x2" identifier != (cast_expression "(uint ****)0x2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pppuVar6 = param_4[0xb0];" (assignment_expression "pppuVar6 = param_4[0xb0]" identifier = (subscript_expression "param_4[0xb0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" identifier = (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" identifier + (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[0xb0]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "puVar23[(int)param_4[0xb4][8]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][8]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][8]]" identifier [ (cast_expression "(int)param_4[0xb4][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][8]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) (expression_statement "puVar23 = puVar23 + (int)pppuVar6;" (assignment_expression "puVar23 = puVar23 + (int)pppuVar6" identifier = (binary_expression "puVar23 + (int)pppuVar6" identifier + (cast_expression "(int)pppuVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;" if (parenthesized_expression "((int)ppppuVar7[6] <= iVar4 + 1)" ( (binary_expression "(int)ppppuVar7[6] <= iVar4 + 1" (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ])) <= (binary_expression "iVar4 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_001c7a88;" goto statement_identifier ;)) })) (if_statement "if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x3)" ( (binary_expression "ppppuVar21 == (uint ****)0x3" identifier == (cast_expression "(uint ****)0x3" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }" { (if_statement "if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" if (parenthesized_expression "(param_4[0xb4][10] != (uint **)0x0)" ( (binary_expression "param_4[0xb4][10] != (uint **)0x0" (subscript_expression "param_4[0xb4][10]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ]) != (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" { (expression_statement "puVar23[(int)param_4[0xb4][0xb]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][0xb]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][0xb]]" identifier [ (cast_expression "(int)param_4[0xb4][0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][0xb]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) })) }) (else_clause "else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" else (if_statement "if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" if (parenthesized_expression "(ppppuVar21 == (uint ****)0x1)" ( (binary_expression "ppppuVar21 == (uint ****)0x1" identifier == (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }" { (expression_statement "puVar23[(int)param_4[0xb4][5]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][5]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][5]]" identifier [ (cast_expression "(int)param_4[0xb4][5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][5]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) }) (else_clause "else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" else (compound_statement "{\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" { (expression_statement "puVar23[(int)param_4[0xb4][2]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][2]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][2]]" identifier [ (cast_expression "(int)param_4[0xb4][2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb4][2]" (subscript_expression "param_4[0xb4]" identifier [ number_literal ]) [ number_literal ])) ]) = identifier) ;) }))))) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" identifier = (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" identifier + (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[0xb0]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "puVar23 = puVar23 + (int)param_4[0xb0];" (assignment_expression "puVar23 = puVar23 + (int)param_4[0xb0]" identifier = (binary_expression "puVar23 + (int)param_4[0xb0]" identifier + (cast_expression "(int)param_4[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0xb0]" identifier [ number_literal ])))) ;) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 + 1 < (int)ppppuVar7[6])" ( (binary_expression "iVar4 + 1 < (int)ppppuVar7[6]" (binary_expression "iVar4 + 1" identifier + number_literal) < (cast_expression "(int)ppppuVar7[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[6]" identifier [ number_literal ]))) )) ;) (labeled_statement "LAB_001c7a88:\n                iVar4 = iVar4 + 1;" statement_identifier : (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" * (cast_expression "(code **)(pcStack_168 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x73b8)" ( (binary_expression "pcStack_168 + -0x73b8" identifier + number_literal) ))))) ;) })) (expression_statement "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);" (assignment_expression "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158)" identifier = (call_expression "(*pcVar28)(uStack_15c,pppuStack_158)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c,pppuStack_158)" ( identifier , identifier )))) ;) (if_statement "if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;" if (parenthesized_expression "((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22))" ( (binary_expression "(iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" ( (comma_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22" (assignment_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1)" identifier = (cast_expression "(uint ****)((int)ppppuVar22 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar22 + 1)" ( (binary_expression "(int)ppppuVar22 + 1" (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "(int)ppppuVar7[7] <= (int)ppppuVar22" (cast_expression "(int)ppppuVar7[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar7[7]" identifier [ number_literal ])) <= (cast_expression "(int)ppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" identifier = (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7ab8:\n          (*pcVar28)(uStack_15c);" statement_identifier : (expression_statement "(*pcVar28)(uStack_15c);" (call_expression "(*pcVar28)(uStack_15c)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uStack_15c)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_168 + -0x79bc))(uStack_154);" (call_expression "(**(code **)(pcStack_168 + -0x79bc))(uStack_154)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_168 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" * (cast_expression "(code **)(pcStack_168 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x79bc)" ( (binary_expression "pcStack_168 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uStack_154)" ( identifier ))) ;) (expression_statement "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);" (assignment_expression "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" identifier = (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7440)" * (pointer_expression "*(code **)(pcStack_168 + -0x7440)" * (cast_expression "(code **)(pcStack_168 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7440)" ( (binary_expression "pcStack_168 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier ))))) ;) }) while (parenthesized_expression "((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004))" ( (binary_expression "(ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" (parenthesized_expression "(ppppuVar7 != (uint ****)0x0)" ( (binary_expression "ppppuVar7 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" ( (comma_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004" (assignment_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1)" identifier = (cast_expression "(uint ****)((int)ppppuVar21 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar21 + 1)" ( (binary_expression "(int)ppppuVar21 + 1" (cast_expression "(int)ppppuVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "ppppuVar21 != (uint ****)&DAT_00000004" identifier != (cast_expression "(uint ****)&DAT_00000004" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000004" & identifier)))) ))) )) ;) (expression_statement "iStack_150 = iStack_150 + 4;" (assignment_expression "iStack_150 = iStack_150 + 4" identifier = (binary_expression "iStack_150 + 4" identifier + number_literal)) ;) (expression_statement "ppppuVar13 = param_4;" (assignment_expression "ppppuVar13 = param_4" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);" (call_expression "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7030))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7030)" * (pointer_expression "*(code **)(pcStack_168 + -0x7030)" * (cast_expression "(code **)(pcStack_168 + -0x7030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7030)" ( (binary_expression "pcStack_168 + -0x7030" identifier + number_literal) ))))) )) (argument_list "(&pppuStack_148)" ( (pointer_expression "&pppuStack_148" & identifier) ))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" identifier = (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" ( (pointer_expression "**(code **)(pcStack_168 + -0x7638)" * (pointer_expression "*(code **)(pcStack_168 + -0x7638)" * (cast_expression "(code **)(pcStack_168 + -0x7638)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_168 + -0x7638)" ( (binary_expression "pcStack_168 + -0x7638" identifier + number_literal) ))))) )) (argument_list "(ppppuVar7)" ( identifier )))) ;) }) while (parenthesized_expression "(iStack_150 < iVar5)" ( (binary_expression "iStack_150 < iVar5" identifier < identifier) )) ;) })) (expression_statement "pppuVar6 = (uint ***)ppuStack_144;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_144" identifier = (cast_expression "(uint ***)ppuStack_144" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" identifier = identifier) ;) (if_statement "if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }" if (parenthesized_expression "((uint ***)ppuStack_144 == (uint ***)*piStack_14c)" ( (binary_expression "(uint ***)ppuStack_144 == (uint ***)*piStack_14c" (cast_expression "(uint ***)ppuStack_144" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) == (cast_expression "(uint ***)*piStack_14c" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piStack_14c" * identifier))) )) (compound_statement "{\n      return (uint ****)pppuStack_148;\n    }" { (return_statement "return (uint ****)pppuStack_148;" return (cast_expression "(uint ****)pppuStack_148" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) ;) })) }))) (expression_statement "pcVar28 = *(code **)(pcVar28 + -0x784c);" (assignment_expression "pcVar28 = *(code **)(pcVar28 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar28 + -0x784c)" * (cast_expression "(code **)(pcVar28 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + -0x784c)" ( (binary_expression "pcVar28 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = CropImage;" (assignment_expression "pcVar26 = CropImage" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar24 = *(int **)(pcVar28 + 0x1e15dc);" (assignment_expression "piVar24 = *(int **)(pcVar28 + 0x1e15dc)" identifier = (pointer_expression "*(int **)(pcVar28 + 0x1e15dc)" * (cast_expression "(int **)(pcVar28 + 0x1e15dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e15dc)" ( (binary_expression "pcVar28 + 0x1e15dc" identifier + number_literal) ))))) ;) (expression_statement "iStack_1ac = *piVar24;" (assignment_expression "iStack_1ac = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pppuStack_1a4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_1a4 = (uint ***)ppppuVar21" identifier = (cast_expression "(uint ***)ppppuVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_1a0 = (uint ***)param_9;" (assignment_expression "pppuStack_1a0 = (uint ***)param_9" identifier = (cast_expression "(uint ***)param_9" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_19c = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_19c = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "puStack_198 = puVar23;" (assignment_expression "puStack_198 = puVar23" identifier = identifier) ;) (expression_statement "iStack_194 = iVar3;" (assignment_expression "iStack_194 = iVar3" identifier = identifier) ;) (expression_statement "iStack_190 = iVar4;" (assignment_expression "iStack_190 = iVar4" identifier = identifier) ;) (expression_statement "pppuStack_18c = (uint ***)param_4;" (assignment_expression "pppuStack_18c = (uint ***)param_4" identifier = (cast_expression "(uint ***)param_4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppuStack_188 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_188 = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_184 = pcVar26;" (assignment_expression "pcStack_184 = pcVar26" identifier = identifier) ;) (if_statement "if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(pppuVar6 == (uint ***)0x0)" ( (binary_expression "pppuVar6 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x37b0" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(pppuVar6[0xcdb] != (uint **)0xabacadab)" ( (binary_expression "pppuVar6[0xcdb] != (uint **)0xabacadab" (subscript_expression "pppuVar6[0xcdb]" identifier [ number_literal ]) != (cast_expression "(uint **)0xabacadab" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x3784" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" * (cast_expression "(int *)(pcVar28 + 0x1e0c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c94)" ( (binary_expression "pcVar28 + 0x1e0c94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" if (parenthesized_expression "(pppuVar6[0xcd4] != (uint **)0x0)" ( (binary_expression "pppuVar6[0xcd4] != (uint **)0x0" (subscript_expression "pppuVar6[0xcd4]" identifier [ number_literal ]) != (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" { (expression_statement "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e158c))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e158c)" * (pointer_expression "*(code **)(pcVar28 + 0x1e158c)" * (cast_expression "(code **)(pcVar28 + 0x1e158c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e158c)" ( (binary_expression "pcVar28 + 0x1e158c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c90) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c90)" * (cast_expression "(int *)(pcVar28 + 0x1e0c90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c90)" ( (binary_expression "pcVar28 + 0x1e0c90" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = *(int *)(pcVar28 + 0x1e0c98);" (assignment_expression "iVar4 = *(int *)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2850" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (if_statement "if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" if (parenthesized_expression "(ppppuVar15 == (uint ****)0x0)" ( (binary_expression "ppppuVar15 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" { (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;) (return_statement "return ppppuVar22;" return identifier ;) })) (expression_statement "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);" (assignment_expression "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98)" identifier = (pointer_expression "*(uint *****)(pcVar28 + 0x1e0c98)" * (cast_expression "(uint *****)(pcVar28 + 0x1e0c98)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) ))))) ;) (if_statement "if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;" if (parenthesized_expression "(ppppuVar15[7] != (uint ***)0xabacadab)" ( (binary_expression "ppppuVar15[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar15[7]" identifier [ number_literal ]) != (cast_expression "(uint ***)0xabacadab" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_001c8358;" goto statement_identifier ;)) (expression_statement "ppppuVar7 = (uint ****)pppuVar6[0x8a];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[0x8a]" identifier = (cast_expression "(uint ****)pppuVar6[0x8a]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar12 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[0x8b]" identifier = (cast_expression "(uint ***)pppuVar6[0x8b]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar11 = pppuVar6[0x8c];" (assignment_expression "ppuVar11 = pppuVar6[0x8c]" identifier = (subscript_expression "pppuVar6[0x8c]" identifier [ number_literal ])) ;) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8d];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8d]" identifier = (cast_expression "(uint ***)pppuVar6[0x8d]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8d]" identifier [ number_literal ]))) ;) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" ( (binary_expression "ppppuVar7 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }" { (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" identifier = (cast_expression "(uint ****)pppuVar6[6]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[6]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];" statement_identifier : (expression_statement "pppuVar12 = (uint ***)pppuVar6[7];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[7]" identifier = (cast_expression "(uint ***)pppuVar6[7]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[7]" identifier [ number_literal ]))) ;)) }) (else_clause "else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" else (if_statement "if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" if (parenthesized_expression "(pppuVar12 == (uint ***)0x0)" ( (binary_expression "pppuVar12 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" { (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" identifier = (cast_expression "(uint ****)pppuVar6[6]" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppuVar6[6]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_001c7cf8;" goto statement_identifier ;) })))) (expression_statement "ppuStack_1d4 = (uint **)ppppuVar13[2];" (assignment_expression "ppuStack_1d4 = (uint **)ppppuVar13[2]" identifier = (cast_expression "(uint **)ppppuVar13[2]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[2]" identifier [ number_literal ]))) ;) (expression_statement "pppuVar18 = ppppuVar13[3];" (assignment_expression "pppuVar18 = ppppuVar13[3]" identifier = (subscript_expression "ppppuVar13[3]" identifier [ number_literal ])) ;) (expression_statement "pppuStack_1dc = *ppppuVar13;" (assignment_expression "pppuStack_1dc = *ppppuVar13" identifier = (pointer_expression "*ppppuVar13" * identifier)) ;) (if_statement "if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" if (parenthesized_expression "((uint ****)*ppppuVar13 == (uint ****)0x0)" ( (binary_expression "(uint ****)*ppppuVar13 == (uint ****)0x0" (cast_expression "(uint ****)*ppppuVar13" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*ppppuVar13" * identifier)) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" { (expression_statement "pppuStack_1dc = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar7" identifier = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) })) (expression_statement "ppuStack_1d8 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_1d8 = (uint **)ppppuVar13[1]" identifier = (cast_expression "(uint **)ppppuVar13[1]" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]))) ;) (if_statement "if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" if (parenthesized_expression "(ppppuVar13[1] == (uint ***)0x0)" ( (binary_expression "ppppuVar13[1] == (uint ***)0x0" (subscript_expression "ppppuVar13[1]" identifier [ number_literal ]) == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" { (expression_statement "ppuStack_1d8 = (uint **)pppuVar12;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar12" identifier = (cast_expression "(uint **)pppuVar12" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (if_statement "if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" if (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc)" ( (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc" (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }" { (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" identifier = (cast_expression "(uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_1d4 - (int)ppuVar11)" ( (binary_expression "(int)ppuStack_1d4 - (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;" if (parenthesized_expression "((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18)" ( (binary_expression "(int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (expression_statement "ppuVar19 = pppuVar6[6];" (assignment_expression "ppuVar19 = pppuVar6[6]" identifier = (subscript_expression "pppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);" (assignment_expression "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10)" identifier = (cast_expression "(uint **)((int)pppuVar18 - (int)pppuVar10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar18 - (int)pppuVar10)" ( (binary_expression "(int)pppuVar18 - (int)pppuVar10" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;" if (parenthesized_expression "(((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0))" ( (binary_expression "((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" (parenthesized_expression "((int)ppuVar19 < (int)pppuVar14)" ( (binary_expression "(int)ppuVar19 < (int)pppuVar14" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" ( (comma_expression "ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0" (assignment_expression "ppuVar20 = pppuVar6[7]" identifier = (subscript_expression "pppuVar6[7]" identifier [ number_literal ])) , (binary_expression "(int)ppuVar20 < (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_001c7d60;" goto statement_identifier ;)) (if_statement "if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" if (parenthesized_expression "(((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11))" ( (binary_expression "((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)" (parenthesized_expression "((int)ppuStack_1d4 < 0)" ( (binary_expression "(int)ppuStack_1d4 < 0" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)ppuVar11)" ( (binary_expression "-1 < (int)ppuVar11" number_literal < (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" identifier = (cast_expression "(uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar14 + (int)pppuStack_1dc)" ( (binary_expression "(int)pppuVar14 + (int)pppuStack_1dc" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" else (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" identifier = (cast_expression "(uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" ( (binary_expression "(int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4)" (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4)" ( (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "ppuStack_1d4 = (uint **)pppuVar14;" (assignment_expression "ppuStack_1d4 = (uint **)pppuVar14" identifier = (cast_expression "(uint **)pppuVar14" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }" if (parenthesized_expression "((int)pppuVar14 < 0)" ( (binary_expression "(int)pppuVar14 < 0" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_1d4 = (uint **)0x0;\n      }" { (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) }))) (if_statement "if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" if (parenthesized_expression "(((int)pppuVar18 < 0) && (-1 < (int)pppuVar10))" ( (binary_expression "((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)" (parenthesized_expression "((int)pppuVar18 < 0)" ( (binary_expression "(int)pppuVar18 < 0" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)pppuVar10)" ( (binary_expression "-1 < (int)pppuVar10" number_literal < (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" identifier = (cast_expression "(uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_1d0 + (int)ppuStack_1d8)" ( (binary_expression "(int)ppuStack_1d0 + (int)ppuStack_1d8" (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" identifier = identifier) ;) }) (else_clause "else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" else (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" identifier = (cast_expression "(uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" ( (binary_expression "(int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18)" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((int)pppuVar10 - (int)pppuVar18)" ( (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" if (parenthesized_expression "((int)ppuStack_1d0 < 0)" ( (binary_expression "(int)ppuStack_1d0 < 0" (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" { (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" identifier = (cast_expression "(uint **)0x0" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" identifier = identifier) ;) })) }))) (if_statement "if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" if (parenthesized_expression "((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4))" ( (binary_expression "(int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)((int)pppuStack_1dc + (int)ppuStack_1d4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppuStack_1dc + (int)ppuStack_1d4)" ( (binary_expression "(int)pppuStack_1dc + (int)ppuStack_1d4" (cast_expression "(int)pppuStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" { (expression_statement "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);" (assignment_expression "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" identifier = (cast_expression "(uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar19 - (int)ppuStack_1d4)" ( (binary_expression "(int)ppuVar19 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppppuVar22 = (uint ****)*ppppuVar13;" (assignment_expression "ppppuVar22 = (uint ****)*ppppuVar13" identifier = (cast_expression "(uint ****)*ppppuVar13" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*ppppuVar13" * identifier))) ;) (if_statement "if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" if (parenthesized_expression "((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc))" ( (binary_expression "(ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)" (parenthesized_expression "(ppppuVar22 != (uint ****)0x0)" ( (binary_expression "ppppuVar22 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(ppppuVar22 < pppuStack_1dc)" ( (binary_expression "ppppuVar22 < pppuStack_1dc" identifier < identifier) ))) )) (compound_statement "{\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" { (expression_statement "pppuStack_1dc = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar22" identifier = (cast_expression "(uint ***)ppppuVar22" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) })) (if_statement "if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" if (parenthesized_expression "((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0)" ( (binary_expression "(int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" { (expression_statement "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0)" identifier = (cast_expression "(uint **)((int)ppuVar20 - (int)ppuStack_1d0)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar20 - (int)ppuStack_1d0)" ( (binary_expression "(int)ppuVar20 - (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuStack_1d0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pppuVar10 = ppppuVar13[1];" (assignment_expression "pppuVar10 = ppppuVar13[1]" identifier = (subscript_expression "ppppuVar13[1]" identifier [ number_literal ])) ;) (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" identifier = (cast_expression "(uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuStack_1d4 + (int)ppuVar11)" ( (binary_expression "(int)ppuStack_1d4 + (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" if (parenthesized_expression "((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10))" ( (binary_expression "(pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)" (parenthesized_expression "(pppuVar10 == (uint ***)0x0)" ( (binary_expression "pppuVar10 == (uint ***)0x0" identifier == (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(ppuStack_1d8 <= pppuVar10)" ( (binary_expression "ppuStack_1d8 <= pppuVar10" identifier <= identifier) ))) )) (compound_statement "{\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" { (if_statement "if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;" if (parenthesized_expression "(((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))" ( (binary_expression "((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" (parenthesized_expression "((uint ****)pppuStack_1dc != (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_1dc != (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) , (binary_expression "(uint ***)ppuStack_1d8 != (uint ***)0x0" (cast_expression "(uint ***)ppuStack_1d8" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) != (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal))) ))) )) (goto_statement "goto LAB_001c7f40;" goto statement_identifier ;)) (labeled_statement "LAB_001c8110:\n      iVar4 = 0x285;" statement_identifier : (expression_statement "iVar4 = 0x285;" (assignment_expression "iVar4 = 0x285" identifier = number_literal) ;)) (expression_statement "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);" (assignment_expression "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" identifier = (cast_expression "(uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" ( identifier , identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;) })) (expression_statement "ppuStack_1d8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar10" identifier = (cast_expression "(uint **)pppuVar10" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;" if (parenthesized_expression "((uint ****)pppuStack_1dc == (uint ****)0x0)" ( (binary_expression "(uint ****)pppuStack_1dc == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c8110;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c7f40:\n    iVar4 = 1;" statement_identifier : (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;)) (expression_statement "ppppuVar22 = (uint ****)pppuStack_1dc;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_1dc" identifier = (cast_expression "(uint ****)pppuStack_1dc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" identifier = (cast_expression "(uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" ( identifier , identifier , identifier , number_literal , identifier ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_001c815c;" goto statement_identifier ;)) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8b]" identifier = (cast_expression "(uint ***)pppuVar6[0x8b]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ]))) ;) (expression_statement "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];" (assignment_expression "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a]" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)pppuVar6[0x8a]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ]))) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar10;" (assignment_expression "ppppuVar13[0x8b] = pppuVar10" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" if (parenthesized_expression "(((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12))" ( (binary_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" (parenthesized_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7))" ( (binary_expression "(int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)" (cast_expression "(int)pppuVar6[0x8a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar6[0x8a]" identifier [ number_literal ])) < (cast_expression "(int)((int)pppuVar14 + (int)ppppuVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppuVar14 + (int)ppppuVar7)" ( (binary_expression "(int)pppuVar14 + (int)ppppuVar7" (cast_expression "(int)pppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppuVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) || (parenthesized_expression "((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" ( (binary_expression "(int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar6[0x8b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppuVar6[0x8b]" identifier [ number_literal ])) < (binary_expression "(int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" { (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1b00);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1b00)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e1b00)" * (cast_expression "(code **)(pcVar28 + 0x1e1b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1b00)" ( (binary_expression "pcVar28 + 0x1e1b00" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar13[0x8c] = pppuVar14;" (assignment_expression "ppppuVar13[0x8c] = pppuVar14" (subscript_expression "ppppuVar13[0x8c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uStack_1e4 = 0;" (assignment_expression "uStack_1e4 = 0" identifier = number_literal) ;) (expression_statement "ppppuVar13[0x8d] = pppuVar18;" (assignment_expression "ppppuVar13[0x8d] = pppuVar18" (subscript_expression "ppppuVar13[0x8d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);" (assignment_expression "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15)" identifier = (call_expression "(*pcVar26)(pppuVar6,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuVar6,ppppuVar15)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);" (assignment_expression "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1280))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1280)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1280)" * (cast_expression "(code **)(pcVar28 + 0x1e1280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1280)" ( (binary_expression "pcVar28 + 0x1e1280" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13,ppppuVar15)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(pppuVar6)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3))" ( (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(pppuVar6)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" * (cast_expression "(code **)(pcVar28 + 0x1e1860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1860)" ( (binary_expression "pcVar28 + 0x1e1860" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar10 = ppppuVar13[7];" (assignment_expression "pppuVar10 = ppppuVar13[7]" identifier = (subscript_expression "ppppuVar13[7]" identifier [ number_literal ])) ;) (expression_statement "pppuVar12 = pppuVar10;" (assignment_expression "pppuVar12 = pppuVar10" identifier = identifier) ;) (if_statement "if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" if (parenthesized_expression "((int)pppuVar10 < 0)" ( (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f)" identifier = (cast_expression "(uint ***)((int)pppuVar10 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar10 + 0x3f)" ( (binary_expression "(int)pppuVar10 + 0x3f" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_13 < (int)pppuVar12 >> 6)" ( (binary_expression "extraout_v1_13 < (int)pppuVar12 >> 6" identifier < (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_15 < 2;" (assignment_expression "bVar1 = extraout_v1_15 < 2" identifier = (binary_expression "extraout_v1_15 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" { (expression_statement "bVar1 = (int)pppuVar10 < 0x80;" (assignment_expression "bVar1 = (int)pppuVar10 < 0x80" identifier = (binary_expression "(int)pppuVar10 < 0x80" (cast_expression "(int)pppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pppuVar12 = ppppuVar13[7];" (assignment_expression "pppuVar12 = ppppuVar13[7]" identifier = (subscript_expression "ppppuVar13[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" if (parenthesized_expression "((int)pppuVar12 < 0)" ( (binary_expression "(int)pppuVar12 < 0" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" { (expression_statement "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f)" identifier = (cast_expression "(uint ***)((int)pppuVar12 + 0x3f)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar12 + 0x3f)" ( (binary_expression "(int)pppuVar12 + 0x3f" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar5 = (int)pppuVar12 >> 6;" (assignment_expression "iVar5 = (int)pppuVar12 >> 6" identifier = (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" if (parenthesized_expression "(extraout_v1_14 < iVar5)" ( (binary_expression "extraout_v1_14 < iVar5" identifier < identifier) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001c8184;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" else (compound_statement "{\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" { (expression_statement "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);" (assignment_expression "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7)" identifier = (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" { (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001c801c;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" if (parenthesized_expression "((uint)uVar33 < 2)" ( (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001c8038;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" else (compound_statement "{\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" { (labeled_statement "LAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2))" ( (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" ( (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" * (cast_expression "(code **)(pcVar28 + 0x1e14e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e14e8)" ( (binary_expression "pcVar28 + 0x1e14e8" identifier + number_literal) ))))) , (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }" { (labeled_statement "LAB_001c8184:\n        (*pcVar26)(7);" statement_identifier : (expression_statement "(*pcVar26)(7);" (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar5 = extraout_v1_12;" (assignment_expression "iVar5 = extraout_v1_12" identifier = identifier) ;) }) (else_clause "else {\n        iVar5 = 2;\n      }" else (compound_statement "{\n        iVar5 = 2;\n      }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001c8038:\n    puStack_1b8 = &uStack_1e8;" statement_identifier : (expression_statement "puStack_1b8 = &uStack_1e8;" (assignment_expression "puStack_1b8 = &uStack_1e8" identifier = (pointer_expression "&uStack_1e8" & identifier)) ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pppuStack_1b4 = (uint ***)&pppuStack_1dc;" (assignment_expression "pppuStack_1b4 = (uint ***)&pppuStack_1dc" identifier = (cast_expression "(uint ***)&pppuStack_1dc" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pppuStack_1dc" & identifier))) ;) (expression_statement "ppppuVar22 = (uint ****)&ppuStack_1cc;" (assignment_expression "ppppuVar22 = (uint ****)&ppuStack_1cc" identifier = (cast_expression "(uint ****)&ppuStack_1cc" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppuStack_1cc" & identifier))) ;) (expression_statement "iStack_1b0 = 1;" (assignment_expression "iStack_1b0 = 1" identifier = number_literal) ;) (expression_statement "ppuStack_1cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_1cc = (uint **)pppuVar6" identifier = (cast_expression "(uint **)pppuVar6" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pppuStack_1c8 = (uint ***)ppppuVar15;" (assignment_expression "pppuStack_1c8 = (uint ***)ppppuVar15" identifier = (cast_expression "(uint ***)ppppuVar15" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "uStack_1c4 = uVar9;" (assignment_expression "uStack_1c4 = uVar9" identifier = identifier) ;) (expression_statement "uStack_1c0 = uVar8;" (assignment_expression "uStack_1c0 = uVar8" identifier = identifier) ;) (expression_statement "pppuStack_1bc = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_1bc = (uint ***)ppppuVar13" identifier = (cast_expression "(uint ***)ppppuVar13" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);" (call_expression "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1544))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1544)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1544)" * (cast_expression "(code **)(pcVar28 + 0x1e1544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1544)" ( (binary_expression "pcVar28 + 0x1e1544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0d4c) + 0x5198" (pointer_expression "*(int *)(pcVar28 + 0x1e0d4c)" * (cast_expression "(int *)(pcVar28 + 0x1e0d4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0d4c)" ( (binary_expression "pcVar28 + 0x1e0d4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "iVar5 = iStack_1b0;" (assignment_expression "iVar5 = iStack_1b0" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar9);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar9)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar8);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" * (cast_expression "(code **)(pcVar28 + 0x1e12a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12a0)" ( (binary_expression "pcVar28 + 0x1e12a0" identifier + number_literal) ))))) )) (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];" (assignment_expression "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8]" (subscript_expression "ppppuVar13[0xa8]" identifier [ number_literal ]) = (cast_expression "(uint ***)pppuVar6[0xa8]" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppuVar6[0xa8]" identifier [ number_literal ]))) ;) (if_statement "if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" { (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" identifier = (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12f8))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12f8)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12f8)" * (cast_expression "(code **)(pcVar28 + 0x1e12f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12f8)" ( (binary_expression "pcVar28 + 0x1e12f8" identifier + number_literal) ))))) )) (argument_list "(ppppuVar13)" ( identifier ))))) ;) })) }) (else_clause "else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" else (compound_statement "{\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" { (labeled_statement "LAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;" statement_identifier : (expression_statement "ppuStack_1d0 = (uint **)pppuVar18;" (assignment_expression "ppuStack_1d0 = (uint **)pppuVar18" identifier = (cast_expression "(uint **)pppuVar18" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" * (cast_expression "(code **)(pcVar28 + 0x1e12cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e12cc)" ( (binary_expression "pcVar28 + 0x1e12cc" identifier + number_literal) ))))) )) (argument_list "(ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" * (cast_expression "(int *)(pcVar28 + 0x1e0c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c98)" ( (binary_expression "pcVar28 + 0x1e0c98" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "pppuVar6 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" identifier = (cast_expression "(uint ****)0x1" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" identifier = (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1bdc))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1bdc)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" * (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1bdc)" ( (binary_expression "pcVar28 + 0x1e1bdc" identifier + number_literal) ))))) )) (argument_list "(pppuVar6,1,1,1,ppppuVar15)" ( identifier , number_literal , number_literal , number_literal , identifier ))))) ;) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" if (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" ( (binary_expression "ppppuVar13 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }" { (labeled_statement "LAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;" statement_identifier : (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) }) (else_clause "else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" else (compound_statement "{\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" { (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e123c);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e123c)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1e123c)" * (cast_expression "(code **)(pcVar28 + 0x1e123c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e123c)" ( (binary_expression "pcVar28 + 0x1e123c" identifier + number_literal) ))))) ;) (expression_statement "ppppuVar13[0x35] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x35] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x35]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x34] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x34] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x34]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x0" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x24] = (uint ***)0x4;" (assignment_expression "ppppuVar13[0x24] = (uint ***)0x4" (subscript_expression "ppppuVar13[0x24]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x4" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "(*pcVar26)(ppppuVar13,ppppuVar15);" (call_expression "(*pcVar26)(ppppuVar13,ppppuVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(ppppuVar13,ppppuVar15)" ( identifier , identifier ))) ;) (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" identifier [ number_literal ]) = (cast_expression "(uint ***)ppppuVar7" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppuVar13[0x8c] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8c] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8c]" identifier [ number_literal ]) = (cast_expression "(uint ***)0xffffffff" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar13[0x8d] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8d] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8d]" identifier [ number_literal ]) = (cast_expression "(uint ***)0xffffffff" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppuVar22 = ppppuVar15;" (assignment_expression "ppppuVar22 = ppppuVar15" identifier = identifier) ;) (if_statement "if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" if (parenthesized_expression "(ppppuVar13[0x9a] == (uint ***)0x2)" ( (binary_expression "ppppuVar13[0x9a] == (uint ***)0x2" (subscript_expression "ppppuVar13[0x9a]" identifier [ number_literal ]) == (cast_expression "(uint ***)0x2" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" { (expression_statement "ppppuVar13[0x9a] = (uint ***)0x1;" (assignment_expression "ppppuVar13[0x9a] = (uint ***)0x1" (subscript_expression "ppppuVar13[0x9a]" identifier [ number_literal ]) = (cast_expression "(uint ***)0x1" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) })) }))) }))) (if_statement "if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }" if (parenthesized_expression "(iStack_1ac == *piVar24)" ( (binary_expression "iStack_1ac == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n    return ppppuVar13;\n  }" { (return_statement "return ppppuVar13;" return identifier ;) })) (expression_statement "(**(code **)(pcVar28 + 0x1e1410))();" (call_expression "(**(code **)(pcVar28 + 0x1e1410))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1410))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e1410)" * (pointer_expression "*(code **)(pcVar28 + 0x1e1410)" * (cast_expression "(code **)(pcVar28 + 0x1e1410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e1410)" ( (binary_expression "pcVar28 + 0x1e1410" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" statement_identifier : (expression_statement "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" identifier = (cast_expression "(uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" * (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" * (cast_expression "(code **)(pcVar28 + 0x1e19b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1e19b4)" ( (binary_expression "pcVar28 + 0x1e19b4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" ( (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x294c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" * (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1e0c8c)" ( (binary_expression "pcVar28 + 0x1e0c8c" identifier + number_literal) )))) + number_literal) , (binary_expression "ppppuVar22 + -0xa23" identifier + number_literal) , number_literal , (binary_expression "iVar4 + -0x2668" identifier + number_literal) ))))) ;)) (return_statement "return ppppuVar22;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (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 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 * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) && (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & 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 * (abstract_pointer_declarator *)))) ) 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 * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (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 (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (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 IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (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 IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) })) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return 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 IDENT = IDENT) ;) (expression_statement (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (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 * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) ))))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ]) = IDENT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ]) = IDENT) ;) }))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (break_statement break ;)) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT)))) ))) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 IDENT + LIT) ))))) )) (argument_list ( (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (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 * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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 *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ 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 IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (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 IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 * (abstract_pointer_declarator *)))) ) 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , LIT ))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) })) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;)) (return_statement return IDENT ;) })))
(function_definition "uint **** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" (type_identifier "uint") (pointer_declarator "**** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (* "*") (pointer_declarator "*** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (* "*") (pointer_declarator "** FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (* "*") (pointer_declarator "* FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (* "*") (function_declarator "FUN_001c6dd4(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (identifier "FUN_001c6dd4") (parameter_list "(uint ****param_1,undefined4 param_2,uint ****param_3,uint ****param_4,\n                      undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n                      uint ****param_9)" (( "(") (parameter_declaration "uint ****param_1" (type_identifier "uint") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint ****param_3" (type_identifier "uint") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))) (, ",") (parameter_declaration "uint ****param_4" (type_identifier "uint") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "uint ****param_9" (type_identifier "uint") (pointer_declarator "****param_9" (* "*") (pointer_declarator "***param_9" (* "*") (pointer_declarator "**param_9" (* "*") (pointer_declarator "*param_9" (* "*") (identifier "param_9")))))) () ")"))))))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  uint ***pppuVar6;\n  uint ****ppppuVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int extraout_v1;\n  uint ****extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint ****extraout_v1_03;\n  uint ***pppuVar10;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  int extraout_v1_13;\n  int extraout_v1_14;\n  int extraout_v1_15;\n  uint **ppuVar11;\n  uint ***pppuVar12;\n  uint ****ppppuVar13;\n  uint ***pppuVar14;\n  uint ****ppppuVar15;\n  uint ****ppppuVar16;\n  int iVar17;\n  uint ***pppuVar18;\n  uint **ppuVar19;\n  uint **ppuVar20;\n  uint ****ppppuVar21;\n  uint ****ppppuVar22;\n  undefined4 *puVar23;\n  int *piVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined *puVar27;\n  uint ****unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  undefined8 uVar33;\n  undefined4 uStack_1e8;\n  undefined4 uStack_1e4;\n  uint ***pppuStack_1dc;\n  uint **ppuStack_1d8;\n  uint **ppuStack_1d4;\n  uint **ppuStack_1d0;\n  uint **ppuStack_1cc;\n  uint ***pppuStack_1c8;\n  undefined4 uStack_1c4;\n  undefined4 uStack_1c0;\n  uint ***pppuStack_1bc;\n  undefined4 *puStack_1b8;\n  uint ***pppuStack_1b4;\n  int iStack_1b0;\n  int iStack_1ac;\n  uint ***pppuStack_1a4;\n  uint ***pppuStack_1a0;\n  uint ***pppuStack_19c;\n  undefined4 *puStack_198;\n  int iStack_194;\n  int iStack_190;\n  uint ***pppuStack_18c;\n  uint ***pppuStack_188;\n  code *pcStack_184;\n  uint ***pppuStack_170;\n  uint ***pppuStack_16c;\n  code *pcStack_168;\n  undefined4 uStack_15c;\n  uint ***pppuStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int *piStack_14c;\n  uint ***pppuStack_148;\n  uint **ppuStack_144;\n  uint ***pppuStack_140;\n  uint ***pppuStack_13c;\n  uint ***pppuStack_138;\n  undefined4 *puStack_134;\n  int iStack_130;\n  int iStack_12c;\n  uint ***pppuStack_128;\n  uint ***pppuStack_124;\n  uint ***pppuStack_120;\n  code *pcStack_11c;\n  uint ***pppuStack_100;\n  uint ***pppuStack_fc;\n  int iStack_f8;\n  uint ***pppuStack_f4;\n  undefined *puStack_f0;\n  undefined4 *puStack_e4;\n  undefined4 uStack_e0;\n  undefined4 uStack_dc;\n  uint **ppuStack_d4;\n  uint **ppuStack_d0;\n  uint **ppuStack_cc;\n  uint **ppuStack_c8;\n  uint ***pppuStack_c4;\n  uint ***pppuStack_c0;\n  int iStack_bc;\n  int iStack_b8;\n  uint ***pppuStack_b4;\n  uint ***pppuStack_b0;\n  uint ***pppuStack_ac;\n  uint ***pppuStack_a8;\n  uint ***pppuStack_a4;\n  uint ***pppuStack_a0;\n  uint ***pppuStack_9c;\n  uint ***pppuStack_98;\n  undefined *puStack_94;\n  int iStack_90;\n  int iStack_8c;\n  uint ***pppuStack_88;\n  uint ***pppuStack_84;\n  uint ***pppuStack_80;\n  code *pcStack_7c;\n  uint ***local_5c;\n  undefined4 local_58;\n  uint ***local_54;\n  uint ***local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  uint ***local_3c;\n  int local_38;\n  int local_34;\n  uint ***local_30;\n  uint ***local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);\n  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);\n  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);\n  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }\nLAB_001c6ec4:\n  ppppuVar13 = &local_5c;\n  local_40 = param_8;\n  local_44 = param_7;\n  local_3c = (uint ***)param_9;\n  local_48 = param_6;\n  local_4c = param_5;\n  local_30 = (uint ***)0x1;\n  local_5c = (uint ***)param_1;\n  local_58 = param_2;\n  local_54 = (uint ***)param_3;\n  local_50 = (uint ***)param_4;\n  local_38 = iVar3;\n  local_34 = iVar4;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);\n  ppppuVar7 = (uint ****)local_30;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);\n  if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }\n  pcVar28 = ChopImage;\n  ppppuVar21 = (uint ****)local_2c;\n  puVar25 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puVar27 = puVar25 + 0x1e9808;\n  puStack_94 = puVar2;\n  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);\n  pppuStack_9c = (uint ***)param_9;\n  pppuStack_a0 = (uint ***)ppppuVar7;\n  pppuStack_a4 = (uint ***)*puVar23;\n  puStack_f0 = puVar27;\n  pppuStack_98 = (uint ***)param_1;\n  iStack_90 = iVar3;\n  iStack_8c = iVar4;\n  pppuStack_88 = (uint ***)param_4;\n  pppuStack_84 = (uint ***)param_3;\n  pppuStack_80 = (uint ***)unaff_s8;\n  pcStack_7c = pcVar28;\n  if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }\n  pcVar26 = *(code **)(puVar27 + -0x784c);\n  pcVar29 = ConsolidateCMYKImages;\n  (*pcVar26)();\n  pcVar28 = pcVar26 + 0x1e9104;\n  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);\n  ppppuVar15 = (uint ****)&DAT_000001b4;\n  ppuStack_144 = (uint **)*piStack_14c;\n  pcStack_168 = pcVar28;\n  pppuStack_158 = (uint ***)ppppuVar13;\n  pppuStack_140 = (uint ***)ppppuVar21;\n  pppuStack_13c = (uint ***)param_9;\n  pppuStack_138 = (uint ***)ppppuVar22;\n  puStack_134 = puVar23;\n  iStack_130 = iVar3;\n  iStack_12c = iVar4;\n  pppuStack_128 = (uint ***)param_4;\n  pppuStack_124 = (uint ***)param_3;\n  pppuStack_120 = (uint ***)unaff_s8;\n  pcStack_11c = pcVar29;\n  if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }\n  pcVar28 = *(code **)(pcVar28 + -0x784c);\n  pcVar26 = CropImage;\n  (*pcVar28)();\n  piVar24 = *(int **)(pcVar28 + 0x1e15dc);\n  iStack_1ac = *piVar24;\n  pppuStack_1a4 = (uint ***)ppppuVar21;\n  pppuStack_1a0 = (uint ***)param_9;\n  pppuStack_19c = (uint ***)ppppuVar22;\n  puStack_198 = puVar23;\n  iStack_194 = iVar3;\n  iStack_190 = iVar4;\n  pppuStack_18c = (uint ***)param_4;\n  pppuStack_188 = (uint ***)ppppuVar7;\n  pcStack_184 = pcVar26;\n  if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }\n  if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }\n  iVar4 = *(int *)(pcVar28 + 0x1e0c98);\n  if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }\n  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);\n  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;\n  ppppuVar7 = (uint ****)pppuVar6[0x8a];\n  pppuVar12 = (uint ***)pppuVar6[0x8b];\n  ppuVar11 = pppuVar6[0x8c];\n  pppuVar10 = (uint ***)pppuVar6[0x8d];\n  if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }\n  ppuStack_1d4 = (uint **)ppppuVar13[2];\n  pppuVar18 = ppppuVar13[3];\n  pppuStack_1dc = *ppppuVar13;\n  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }\n  ppuStack_1d8 = (uint **)ppppuVar13[1];\n  if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }\n  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }\n  if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }\n  (**(code **)(pcVar28 + 0x1e1410))();\nLAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);\n  return ppppuVar22;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint ***pppuVar6;" (type_identifier "uint") (pointer_declarator "***pppuVar6" (* "*") (pointer_declarator "**pppuVar6" (* "*") (pointer_declarator "*pppuVar6" (* "*") (identifier "pppuVar6")))) (; ";")) (declaration "uint ****ppppuVar7;" (type_identifier "uint") (pointer_declarator "****ppppuVar7" (* "*") (pointer_declarator "***ppppuVar7" (* "*") (pointer_declarator "**ppppuVar7" (* "*") (pointer_declarator "*ppppuVar7" (* "*") (identifier "ppppuVar7"))))) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "uint ****extraout_v1_00;" (type_identifier "uint") (pointer_declarator "****extraout_v1_00" (* "*") (pointer_declarator "***extraout_v1_00" (* "*") (pointer_declarator "**extraout_v1_00" (* "*") (pointer_declarator "*extraout_v1_00" (* "*") (identifier "extraout_v1_00"))))) (; ";")) (declaration "int extraout_v1_01;" (primitive_type "int") (identifier "extraout_v1_01") (; ";")) (declaration "int extraout_v1_02;" (primitive_type "int") (identifier "extraout_v1_02") (; ";")) (declaration "uint ****extraout_v1_03;" (type_identifier "uint") (pointer_declarator "****extraout_v1_03" (* "*") (pointer_declarator "***extraout_v1_03" (* "*") (pointer_declarator "**extraout_v1_03" (* "*") (pointer_declarator "*extraout_v1_03" (* "*") (identifier "extraout_v1_03"))))) (; ";")) (declaration "uint ***pppuVar10;" (type_identifier "uint") (pointer_declarator "***pppuVar10" (* "*") (pointer_declarator "**pppuVar10" (* "*") (pointer_declarator "*pppuVar10" (* "*") (identifier "pppuVar10")))) (; ";")) (declaration "int extraout_v1_04;" (primitive_type "int") (identifier "extraout_v1_04") (; ";")) (declaration "int extraout_v1_05;" (primitive_type "int") (identifier "extraout_v1_05") (; ";")) (declaration "int extraout_v1_06;" (primitive_type "int") (identifier "extraout_v1_06") (; ";")) (declaration "int extraout_v1_07;" (primitive_type "int") (identifier "extraout_v1_07") (; ";")) (declaration "int extraout_v1_08;" (primitive_type "int") (identifier "extraout_v1_08") (; ";")) (declaration "int extraout_v1_09;" (primitive_type "int") (identifier "extraout_v1_09") (; ";")) (declaration "int extraout_v1_10;" (primitive_type "int") (identifier "extraout_v1_10") (; ";")) (declaration "int extraout_v1_11;" (primitive_type "int") (identifier "extraout_v1_11") (; ";")) (declaration "int extraout_v1_12;" (primitive_type "int") (identifier "extraout_v1_12") (; ";")) (declaration "int extraout_v1_13;" (primitive_type "int") (identifier "extraout_v1_13") (; ";")) (declaration "int extraout_v1_14;" (primitive_type "int") (identifier "extraout_v1_14") (; ";")) (declaration "int extraout_v1_15;" (primitive_type "int") (identifier "extraout_v1_15") (; ";")) (declaration "uint **ppuVar11;" (type_identifier "uint") (pointer_declarator "**ppuVar11" (* "*") (pointer_declarator "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (declaration "uint ***pppuVar12;" (type_identifier "uint") (pointer_declarator "***pppuVar12" (* "*") (pointer_declarator "**pppuVar12" (* "*") (pointer_declarator "*pppuVar12" (* "*") (identifier "pppuVar12")))) (; ";")) (declaration "uint ****ppppuVar13;" (type_identifier "uint") (pointer_declarator "****ppppuVar13" (* "*") (pointer_declarator "***ppppuVar13" (* "*") (pointer_declarator "**ppppuVar13" (* "*") (pointer_declarator "*ppppuVar13" (* "*") (identifier "ppppuVar13"))))) (; ";")) (declaration "uint ***pppuVar14;" (type_identifier "uint") (pointer_declarator "***pppuVar14" (* "*") (pointer_declarator "**pppuVar14" (* "*") (pointer_declarator "*pppuVar14" (* "*") (identifier "pppuVar14")))) (; ";")) (declaration "uint ****ppppuVar15;" (type_identifier "uint") (pointer_declarator "****ppppuVar15" (* "*") (pointer_declarator "***ppppuVar15" (* "*") (pointer_declarator "**ppppuVar15" (* "*") (pointer_declarator "*ppppuVar15" (* "*") (identifier "ppppuVar15"))))) (; ";")) (declaration "uint ****ppppuVar16;" (type_identifier "uint") (pointer_declarator "****ppppuVar16" (* "*") (pointer_declarator "***ppppuVar16" (* "*") (pointer_declarator "**ppppuVar16" (* "*") (pointer_declarator "*ppppuVar16" (* "*") (identifier "ppppuVar16"))))) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "uint ***pppuVar18;" (type_identifier "uint") (pointer_declarator "***pppuVar18" (* "*") (pointer_declarator "**pppuVar18" (* "*") (pointer_declarator "*pppuVar18" (* "*") (identifier "pppuVar18")))) (; ";")) (declaration "uint **ppuVar19;" (type_identifier "uint") (pointer_declarator "**ppuVar19" (* "*") (pointer_declarator "*ppuVar19" (* "*") (identifier "ppuVar19"))) (; ";")) (declaration "uint **ppuVar20;" (type_identifier "uint") (pointer_declarator "**ppuVar20" (* "*") (pointer_declarator "*ppuVar20" (* "*") (identifier "ppuVar20"))) (; ";")) (declaration "uint ****ppppuVar21;" (type_identifier "uint") (pointer_declarator "****ppppuVar21" (* "*") (pointer_declarator "***ppppuVar21" (* "*") (pointer_declarator "**ppppuVar21" (* "*") (pointer_declarator "*ppppuVar21" (* "*") (identifier "ppppuVar21"))))) (; ";")) (declaration "uint ****ppppuVar22;" (type_identifier "uint") (pointer_declarator "****ppppuVar22" (* "*") (pointer_declarator "***ppppuVar22" (* "*") (pointer_declarator "**ppppuVar22" (* "*") (pointer_declarator "*ppppuVar22" (* "*") (identifier "ppppuVar22"))))) (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "undefined *puVar25;" (type_identifier "undefined") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "undefined *puVar27;" (type_identifier "undefined") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "uint ****unaff_s8;" (type_identifier "uint") (pointer_declarator "****unaff_s8" (* "*") (pointer_declarator "***unaff_s8" (* "*") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8"))))) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "code *pcVar29;" (type_identifier "code") (pointer_declarator "*pcVar29" (* "*") (identifier "pcVar29")) (; ";")) (declaration "double dVar30;" (primitive_type "double") (identifier "dVar30") (; ";")) (declaration "float fVar31;" (primitive_type "float") (identifier "fVar31") (; ";")) (declaration "double dVar32;" (primitive_type "double") (identifier "dVar32") (; ";")) (declaration "undefined8 uVar33;" (type_identifier "undefined8") (identifier "uVar33") (; ";")) (declaration "undefined4 uStack_1e8;" (type_identifier "undefined4") (identifier "uStack_1e8") (; ";")) (declaration "undefined4 uStack_1e4;" (type_identifier "undefined4") (identifier "uStack_1e4") (; ";")) (declaration "uint ***pppuStack_1dc;" (type_identifier "uint") (pointer_declarator "***pppuStack_1dc" (* "*") (pointer_declarator "**pppuStack_1dc" (* "*") (pointer_declarator "*pppuStack_1dc" (* "*") (identifier "pppuStack_1dc")))) (; ";")) (declaration "uint **ppuStack_1d8;" (type_identifier "uint") (pointer_declarator "**ppuStack_1d8" (* "*") (pointer_declarator "*ppuStack_1d8" (* "*") (identifier "ppuStack_1d8"))) (; ";")) (declaration "uint **ppuStack_1d4;" (type_identifier "uint") (pointer_declarator "**ppuStack_1d4" (* "*") (pointer_declarator "*ppuStack_1d4" (* "*") (identifier "ppuStack_1d4"))) (; ";")) (declaration "uint **ppuStack_1d0;" (type_identifier "uint") (pointer_declarator "**ppuStack_1d0" (* "*") (pointer_declarator "*ppuStack_1d0" (* "*") (identifier "ppuStack_1d0"))) (; ";")) (declaration "uint **ppuStack_1cc;" (type_identifier "uint") (pointer_declarator "**ppuStack_1cc" (* "*") (pointer_declarator "*ppuStack_1cc" (* "*") (identifier "ppuStack_1cc"))) (; ";")) (declaration "uint ***pppuStack_1c8;" (type_identifier "uint") (pointer_declarator "***pppuStack_1c8" (* "*") (pointer_declarator "**pppuStack_1c8" (* "*") (pointer_declarator "*pppuStack_1c8" (* "*") (identifier "pppuStack_1c8")))) (; ";")) (declaration "undefined4 uStack_1c4;" (type_identifier "undefined4") (identifier "uStack_1c4") (; ";")) (declaration "undefined4 uStack_1c0;" (type_identifier "undefined4") (identifier "uStack_1c0") (; ";")) (declaration "uint ***pppuStack_1bc;" (type_identifier "uint") (pointer_declarator "***pppuStack_1bc" (* "*") (pointer_declarator "**pppuStack_1bc" (* "*") (pointer_declarator "*pppuStack_1bc" (* "*") (identifier "pppuStack_1bc")))) (; ";")) (declaration "undefined4 *puStack_1b8;" (type_identifier "undefined4") (pointer_declarator "*puStack_1b8" (* "*") (identifier "puStack_1b8")) (; ";")) (declaration "uint ***pppuStack_1b4;" (type_identifier "uint") (pointer_declarator "***pppuStack_1b4" (* "*") (pointer_declarator "**pppuStack_1b4" (* "*") (pointer_declarator "*pppuStack_1b4" (* "*") (identifier "pppuStack_1b4")))) (; ";")) (declaration "int iStack_1b0;" (primitive_type "int") (identifier "iStack_1b0") (; ";")) (declaration "int iStack_1ac;" (primitive_type "int") (identifier "iStack_1ac") (; ";")) (declaration "uint ***pppuStack_1a4;" (type_identifier "uint") (pointer_declarator "***pppuStack_1a4" (* "*") (pointer_declarator "**pppuStack_1a4" (* "*") (pointer_declarator "*pppuStack_1a4" (* "*") (identifier "pppuStack_1a4")))) (; ";")) (declaration "uint ***pppuStack_1a0;" (type_identifier "uint") (pointer_declarator "***pppuStack_1a0" (* "*") (pointer_declarator "**pppuStack_1a0" (* "*") (pointer_declarator "*pppuStack_1a0" (* "*") (identifier "pppuStack_1a0")))) (; ";")) (declaration "uint ***pppuStack_19c;" (type_identifier "uint") (pointer_declarator "***pppuStack_19c" (* "*") (pointer_declarator "**pppuStack_19c" (* "*") (pointer_declarator "*pppuStack_19c" (* "*") (identifier "pppuStack_19c")))) (; ";")) (declaration "undefined4 *puStack_198;" (type_identifier "undefined4") (pointer_declarator "*puStack_198" (* "*") (identifier "puStack_198")) (; ";")) (declaration "int iStack_194;" (primitive_type "int") (identifier "iStack_194") (; ";")) (declaration "int iStack_190;" (primitive_type "int") (identifier "iStack_190") (; ";")) (declaration "uint ***pppuStack_18c;" (type_identifier "uint") (pointer_declarator "***pppuStack_18c" (* "*") (pointer_declarator "**pppuStack_18c" (* "*") (pointer_declarator "*pppuStack_18c" (* "*") (identifier "pppuStack_18c")))) (; ";")) (declaration "uint ***pppuStack_188;" (type_identifier "uint") (pointer_declarator "***pppuStack_188" (* "*") (pointer_declarator "**pppuStack_188" (* "*") (pointer_declarator "*pppuStack_188" (* "*") (identifier "pppuStack_188")))) (; ";")) (declaration "code *pcStack_184;" (type_identifier "code") (pointer_declarator "*pcStack_184" (* "*") (identifier "pcStack_184")) (; ";")) (declaration "uint ***pppuStack_170;" (type_identifier "uint") (pointer_declarator "***pppuStack_170" (* "*") (pointer_declarator "**pppuStack_170" (* "*") (pointer_declarator "*pppuStack_170" (* "*") (identifier "pppuStack_170")))) (; ";")) (declaration "uint ***pppuStack_16c;" (type_identifier "uint") (pointer_declarator "***pppuStack_16c" (* "*") (pointer_declarator "**pppuStack_16c" (* "*") (pointer_declarator "*pppuStack_16c" (* "*") (identifier "pppuStack_16c")))) (; ";")) (declaration "code *pcStack_168;" (type_identifier "code") (pointer_declarator "*pcStack_168" (* "*") (identifier "pcStack_168")) (; ";")) (declaration "undefined4 uStack_15c;" (type_identifier "undefined4") (identifier "uStack_15c") (; ";")) (declaration "uint ***pppuStack_158;" (type_identifier "uint") (pointer_declarator "***pppuStack_158" (* "*") (pointer_declarator "**pppuStack_158" (* "*") (pointer_declarator "*pppuStack_158" (* "*") (identifier "pppuStack_158")))) (; ";")) (declaration "undefined4 uStack_154;" (type_identifier "undefined4") (identifier "uStack_154") (; ";")) (declaration "int iStack_150;" (primitive_type "int") (identifier "iStack_150") (; ";")) (declaration "int *piStack_14c;" (primitive_type "int") (pointer_declarator "*piStack_14c" (* "*") (identifier "piStack_14c")) (; ";")) (declaration "uint ***pppuStack_148;" (type_identifier "uint") (pointer_declarator "***pppuStack_148" (* "*") (pointer_declarator "**pppuStack_148" (* "*") (pointer_declarator "*pppuStack_148" (* "*") (identifier "pppuStack_148")))) (; ";")) (declaration "uint **ppuStack_144;" (type_identifier "uint") (pointer_declarator "**ppuStack_144" (* "*") (pointer_declarator "*ppuStack_144" (* "*") (identifier "ppuStack_144"))) (; ";")) (declaration "uint ***pppuStack_140;" (type_identifier "uint") (pointer_declarator "***pppuStack_140" (* "*") (pointer_declarator "**pppuStack_140" (* "*") (pointer_declarator "*pppuStack_140" (* "*") (identifier "pppuStack_140")))) (; ";")) (declaration "uint ***pppuStack_13c;" (type_identifier "uint") (pointer_declarator "***pppuStack_13c" (* "*") (pointer_declarator "**pppuStack_13c" (* "*") (pointer_declarator "*pppuStack_13c" (* "*") (identifier "pppuStack_13c")))) (; ";")) (declaration "uint ***pppuStack_138;" (type_identifier "uint") (pointer_declarator "***pppuStack_138" (* "*") (pointer_declarator "**pppuStack_138" (* "*") (pointer_declarator "*pppuStack_138" (* "*") (identifier "pppuStack_138")))) (; ";")) (declaration "undefined4 *puStack_134;" (type_identifier "undefined4") (pointer_declarator "*puStack_134" (* "*") (identifier "puStack_134")) (; ";")) (declaration "int iStack_130;" (primitive_type "int") (identifier "iStack_130") (; ";")) (declaration "int iStack_12c;" (primitive_type "int") (identifier "iStack_12c") (; ";")) (declaration "uint ***pppuStack_128;" (type_identifier "uint") (pointer_declarator "***pppuStack_128" (* "*") (pointer_declarator "**pppuStack_128" (* "*") (pointer_declarator "*pppuStack_128" (* "*") (identifier "pppuStack_128")))) (; ";")) (declaration "uint ***pppuStack_124;" (type_identifier "uint") (pointer_declarator "***pppuStack_124" (* "*") (pointer_declarator "**pppuStack_124" (* "*") (pointer_declarator "*pppuStack_124" (* "*") (identifier "pppuStack_124")))) (; ";")) (declaration "uint ***pppuStack_120;" (type_identifier "uint") (pointer_declarator "***pppuStack_120" (* "*") (pointer_declarator "**pppuStack_120" (* "*") (pointer_declarator "*pppuStack_120" (* "*") (identifier "pppuStack_120")))) (; ";")) (declaration "code *pcStack_11c;" (type_identifier "code") (pointer_declarator "*pcStack_11c" (* "*") (identifier "pcStack_11c")) (; ";")) (declaration "uint ***pppuStack_100;" (type_identifier "uint") (pointer_declarator "***pppuStack_100" (* "*") (pointer_declarator "**pppuStack_100" (* "*") (pointer_declarator "*pppuStack_100" (* "*") (identifier "pppuStack_100")))) (; ";")) (declaration "uint ***pppuStack_fc;" (type_identifier "uint") (pointer_declarator "***pppuStack_fc" (* "*") (pointer_declarator "**pppuStack_fc" (* "*") (pointer_declarator "*pppuStack_fc" (* "*") (identifier "pppuStack_fc")))) (; ";")) (declaration "int iStack_f8;" (primitive_type "int") (identifier "iStack_f8") (; ";")) (declaration "uint ***pppuStack_f4;" (type_identifier "uint") (pointer_declarator "***pppuStack_f4" (* "*") (pointer_declarator "**pppuStack_f4" (* "*") (pointer_declarator "*pppuStack_f4" (* "*") (identifier "pppuStack_f4")))) (; ";")) (declaration "undefined *puStack_f0;" (type_identifier "undefined") (pointer_declarator "*puStack_f0" (* "*") (identifier "puStack_f0")) (; ";")) (declaration "undefined4 *puStack_e4;" (type_identifier "undefined4") (pointer_declarator "*puStack_e4" (* "*") (identifier "puStack_e4")) (; ";")) (declaration "undefined4 uStack_e0;" (type_identifier "undefined4") (identifier "uStack_e0") (; ";")) (declaration "undefined4 uStack_dc;" (type_identifier "undefined4") (identifier "uStack_dc") (; ";")) (declaration "uint **ppuStack_d4;" (type_identifier "uint") (pointer_declarator "**ppuStack_d4" (* "*") (pointer_declarator "*ppuStack_d4" (* "*") (identifier "ppuStack_d4"))) (; ";")) (declaration "uint **ppuStack_d0;" (type_identifier "uint") (pointer_declarator "**ppuStack_d0" (* "*") (pointer_declarator "*ppuStack_d0" (* "*") (identifier "ppuStack_d0"))) (; ";")) (declaration "uint **ppuStack_cc;" (type_identifier "uint") (pointer_declarator "**ppuStack_cc" (* "*") (pointer_declarator "*ppuStack_cc" (* "*") (identifier "ppuStack_cc"))) (; ";")) (declaration "uint **ppuStack_c8;" (type_identifier "uint") (pointer_declarator "**ppuStack_c8" (* "*") (pointer_declarator "*ppuStack_c8" (* "*") (identifier "ppuStack_c8"))) (; ";")) (declaration "uint ***pppuStack_c4;" (type_identifier "uint") (pointer_declarator "***pppuStack_c4" (* "*") (pointer_declarator "**pppuStack_c4" (* "*") (pointer_declarator "*pppuStack_c4" (* "*") (identifier "pppuStack_c4")))) (; ";")) (declaration "uint ***pppuStack_c0;" (type_identifier "uint") (pointer_declarator "***pppuStack_c0" (* "*") (pointer_declarator "**pppuStack_c0" (* "*") (pointer_declarator "*pppuStack_c0" (* "*") (identifier "pppuStack_c0")))) (; ";")) (declaration "int iStack_bc;" (primitive_type "int") (identifier "iStack_bc") (; ";")) (declaration "int iStack_b8;" (primitive_type "int") (identifier "iStack_b8") (; ";")) (declaration "uint ***pppuStack_b4;" (type_identifier "uint") (pointer_declarator "***pppuStack_b4" (* "*") (pointer_declarator "**pppuStack_b4" (* "*") (pointer_declarator "*pppuStack_b4" (* "*") (identifier "pppuStack_b4")))) (; ";")) (declaration "uint ***pppuStack_b0;" (type_identifier "uint") (pointer_declarator "***pppuStack_b0" (* "*") (pointer_declarator "**pppuStack_b0" (* "*") (pointer_declarator "*pppuStack_b0" (* "*") (identifier "pppuStack_b0")))) (; ";")) (declaration "uint ***pppuStack_ac;" (type_identifier "uint") (pointer_declarator "***pppuStack_ac" (* "*") (pointer_declarator "**pppuStack_ac" (* "*") (pointer_declarator "*pppuStack_ac" (* "*") (identifier "pppuStack_ac")))) (; ";")) (declaration "uint ***pppuStack_a8;" (type_identifier "uint") (pointer_declarator "***pppuStack_a8" (* "*") (pointer_declarator "**pppuStack_a8" (* "*") (pointer_declarator "*pppuStack_a8" (* "*") (identifier "pppuStack_a8")))) (; ";")) (declaration "uint ***pppuStack_a4;" (type_identifier "uint") (pointer_declarator "***pppuStack_a4" (* "*") (pointer_declarator "**pppuStack_a4" (* "*") (pointer_declarator "*pppuStack_a4" (* "*") (identifier "pppuStack_a4")))) (; ";")) (declaration "uint ***pppuStack_a0;" (type_identifier "uint") (pointer_declarator "***pppuStack_a0" (* "*") (pointer_declarator "**pppuStack_a0" (* "*") (pointer_declarator "*pppuStack_a0" (* "*") (identifier "pppuStack_a0")))) (; ";")) (declaration "uint ***pppuStack_9c;" (type_identifier "uint") (pointer_declarator "***pppuStack_9c" (* "*") (pointer_declarator "**pppuStack_9c" (* "*") (pointer_declarator "*pppuStack_9c" (* "*") (identifier "pppuStack_9c")))) (; ";")) (declaration "uint ***pppuStack_98;" (type_identifier "uint") (pointer_declarator "***pppuStack_98" (* "*") (pointer_declarator "**pppuStack_98" (* "*") (pointer_declarator "*pppuStack_98" (* "*") (identifier "pppuStack_98")))) (; ";")) (declaration "undefined *puStack_94;" (type_identifier "undefined") (pointer_declarator "*puStack_94" (* "*") (identifier "puStack_94")) (; ";")) (declaration "int iStack_90;" (primitive_type "int") (identifier "iStack_90") (; ";")) (declaration "int iStack_8c;" (primitive_type "int") (identifier "iStack_8c") (; ";")) (declaration "uint ***pppuStack_88;" (type_identifier "uint") (pointer_declarator "***pppuStack_88" (* "*") (pointer_declarator "**pppuStack_88" (* "*") (pointer_declarator "*pppuStack_88" (* "*") (identifier "pppuStack_88")))) (; ";")) (declaration "uint ***pppuStack_84;" (type_identifier "uint") (pointer_declarator "***pppuStack_84" (* "*") (pointer_declarator "**pppuStack_84" (* "*") (pointer_declarator "*pppuStack_84" (* "*") (identifier "pppuStack_84")))) (; ";")) (declaration "uint ***pppuStack_80;" (type_identifier "uint") (pointer_declarator "***pppuStack_80" (* "*") (pointer_declarator "**pppuStack_80" (* "*") (pointer_declarator "*pppuStack_80" (* "*") (identifier "pppuStack_80")))) (; ";")) (declaration "code *pcStack_7c;" (type_identifier "code") (pointer_declarator "*pcStack_7c" (* "*") (identifier "pcStack_7c")) (; ";")) (declaration "uint ***local_5c;" (type_identifier "uint") (pointer_declarator "***local_5c" (* "*") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")))) (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "uint ***local_54;" (type_identifier "uint") (pointer_declarator "***local_54" (* "*") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54")))) (; ";")) (declaration "uint ***local_50;" (type_identifier "uint") (pointer_declarator "***local_50" (* "*") (pointer_declarator "**local_50" (* "*") (pointer_declarator "*local_50" (* "*") (identifier "local_50")))) (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "uint ***local_3c;" (type_identifier "uint") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")))) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "uint ***local_30;" (type_identifier "uint") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30")))) (; ";")) (declaration "uint ***local_2c;" (type_identifier "uint") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")))) (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar2 = PTR___stack_chk_guard_003a9230" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(uint ****)PTR___stack_chk_guard_003a9230" (identifier "local_2c") (= "=") (pointer_expression "*(uint ****)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(uint ****)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" (( "(") (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" (* "*") (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireVirtualCacheView_003a9754"))) () ")")) (argument_list "(param_2,param_9)" (( "(") (identifier "param_2") (, ",") (identifier "param_9") () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);" (assignment_expression "iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" (( "(") (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" (* "*") (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireAuthenticCacheView_003a8ed4"))) () ")")) (argument_list "(param_1,param_9)" (( "(") (identifier "param_1") (, ",") (identifier "param_9") () ")")))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }\n  else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" (if "if") (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))))" (( "(") (binary_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)\n      )" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))" (( "(") (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3))" (( "(") (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar5 == 4 ||\n            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3" (assignment_expression "iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    ppppuVar22 = param_4;\n    if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }\n    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);\n    if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }\n    ppppuVar22 = (uint ****)0x1;\n    if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }\n  }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "ppppuVar22 = param_4;" (assignment_expression "ppppuVar22 = param_4" (identifier "ppppuVar22") (= "=") (identifier "param_4")) (; ";")) (if_statement "if ((int)param_4 < 0) {\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" (if "if") (parenthesized_expression "((int)param_4 < 0)" (( "(") (binary_expression "(int)param_4 < 0" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);\n    }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)((int)param_4 + 0x3f);" (assignment_expression "ppppuVar22 = (uint ****)((int)param_4 + 0x3f)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)((int)param_4 + 0x3f)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)param_4 + 0x3f)" (( "(") (binary_expression "(int)param_4 + 0x3f" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3f")) () ")")))) (; ";")) (} "}"))) (expression_statement "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);" (assignment_expression "unaff_s8 = (uint ****)((int)ppppuVar22 >> 6)" (identifier "unaff_s8") (= "=") (cast_expression "(uint ****)((int)ppppuVar22 >> 6)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar22 >> 6)" (( "(") (binary_expression "(int)ppppuVar22 >> 6" (cast_expression "(int)ppppuVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar22")) (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (extraout_v1 < (int)unaff_s8) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }\n    else {\n      bVar1 = (int)param_4 < 0x80;\n    }" (if "if") (parenthesized_expression "(extraout_v1 < (int)unaff_s8)" (( "(") (binary_expression "extraout_v1 < (int)unaff_s8" (identifier "extraout_v1") (< "<") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))) () ")")) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_02 < 2;\n    }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_02 < 2" (identifier "extraout_v1_02") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n      bVar1 = (int)param_4 < 0x80;\n    }" (else "else") (compound_statement "{\n      bVar1 = (int)param_4 < 0x80;\n    }" ({ "{") (expression_statement "bVar1 = (int)param_4 < 0x80;" (assignment_expression "bVar1 = (int)param_4 < 0x80" (identifier "bVar1") (= "=") (binary_expression "(int)param_4 < 0x80" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)0x1" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" (if "if") (parenthesized_expression "(((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8))" (( "(") (binary_expression "((bool)(bVar1 ^ 1)) &&\n       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8)" (( "(") (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (, ",") (comma_expression "ppppuVar22 = unaff_s8,\n       extraout_v1_01 < (int)unaff_s8" (assignment_expression "ppppuVar22 = unaff_s8" (identifier "ppppuVar22") (= "=") (identifier "unaff_s8")) (, ",") (binary_expression "extraout_v1_01 < (int)unaff_s8" (identifier "extraout_v1_01") (< "<") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))))) () ")"))) () ")")) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_03;\n      unaff_s8 = extraout_v1_03;\n    }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "ppppuVar22 = extraout_v1_03;" (assignment_expression "ppppuVar22 = extraout_v1_03" (identifier "ppppuVar22") (= "=") (identifier "extraout_v1_03")) (; ";")) (expression_statement "unaff_s8 = extraout_v1_03;" (assignment_expression "unaff_s8 = extraout_v1_03" (identifier "unaff_s8") (= "=") (identifier "extraout_v1_03")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" (else "else") (compound_statement "{\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }\n    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }\n  }" ({ "{") (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar33") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }\n    }" ({ "{") (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar33") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        ppppuVar22 = (uint ****)0x1;\n        goto LAB_001c6ec4;\n      }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)0x1" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_001c6ec4;" (goto "goto") (statement_identifier "LAB_001c6ec4") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar33") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }\n    else {\n      ppppuVar22 = (uint ****)0x2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      ppppuVar22 = extraout_v1_00;\n    }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "ppppuVar22 = extraout_v1_00;" (assignment_expression "ppppuVar22 = extraout_v1_00" (identifier "ppppuVar22") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n      ppppuVar22 = (uint ****)0x2;\n    }" (else "else") (compound_statement "{\n      ppppuVar22 = (uint ****)0x2;\n    }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)0x2;" (assignment_expression "ppppuVar22 = (uint ****)0x2" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)0x2" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_001c6ec4:\n  ppppuVar13 = &local_5c;" (statement_identifier "LAB_001c6ec4") (: ":") (expression_statement "ppppuVar13 = &local_5c;" (assignment_expression "ppppuVar13 = &local_5c" (identifier "ppppuVar13") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";"))) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" (identifier "local_40") (= "=") (identifier "param_8")) (; ";")) (expression_statement "local_44 = param_7;" (assignment_expression "local_44 = param_7" (identifier "local_44") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_3c = (uint ***)param_9;" (assignment_expression "local_3c = (uint ***)param_9" (identifier "local_3c") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "local_48 = param_6;" (assignment_expression "local_48 = param_6" (identifier "local_48") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_4c = param_5;" (assignment_expression "local_4c = param_5" (identifier "local_4c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_30 = (uint ***)0x1;" (assignment_expression "local_30 = (uint ***)0x1" (identifier "local_30") (= "=") (cast_expression "(uint ***)0x1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_5c = (uint ***)param_1;" (assignment_expression "local_5c = (uint ***)param_1" (identifier "local_5c") (= "=") (cast_expression "(uint ***)param_1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" (identifier "local_58") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_54 = (uint ***)param_3;" (assignment_expression "local_54 = (uint ***)param_3" (identifier "local_54") (= "=") (cast_expression "(uint ***)param_3" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "local_50 = (uint ***)param_4;" (assignment_expression "local_50 = (uint ***)param_4" (identifier "local_50") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "local_38 = iVar3;" (assignment_expression "local_38 = iVar3" (identifier "local_38") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "local_34 = iVar4;" (assignment_expression "local_34 = iVar4" (identifier "local_34") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" (( "(") (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" (* "*") (cast_expression "(code *)PTR_GOMP_parallel_003a9198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_parallel_003a9198"))) () ")")) (argument_list "(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0)" (( "(") (binary_expression "PTR_LAB_003a89a0 + 0x5be0" (identifier "PTR_LAB_003a89a0") (+ "+") (number_literal "0x5be0")) (, ",") (identifier "ppppuVar13") (, ",") (identifier "ppppuVar22") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "ppppuVar7 = (uint ****)local_30;" (assignment_expression "ppppuVar7 = (uint ****)local_30" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)local_30" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_30"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" (( "(") (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" (* "*") (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyCacheView_003a8ef4"))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" (( "(") (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" (* "*") (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyCacheView_003a8ef4"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (if_statement "if ((uint ****)local_2c == *(uint *****)puVar2) {\n    return ppppuVar7;\n  }" (if "if") (parenthesized_expression "((uint ****)local_2c == *(uint *****)puVar2)" (( "(") (binary_expression "(uint ****)local_2c == *(uint *****)puVar2" (cast_expression "(uint ****)local_2c" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_2c")) (== "==") (pointer_expression "*(uint *****)puVar2" (* "*") (cast_expression "(uint *****)puVar2" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    return ppppuVar7;\n  }" ({ "{") (return_statement "return ppppuVar7;" (return "return") (identifier "ppppuVar7") (; ";")) (} "}"))) (expression_statement "pcVar28 = ChopImage;" (assignment_expression "pcVar28 = ChopImage" (identifier "pcVar28") (= "=") (identifier "ChopImage")) (; ";")) (expression_statement "ppppuVar21 = (uint ****)local_2c;" (assignment_expression "ppppuVar21 = (uint ****)local_2c" (identifier "ppppuVar21") (= "=") (cast_expression "(uint ****)local_2c" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_2c"))) (; ";")) (expression_statement "puVar25 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar25 = PTR___stack_chk_fail_003a9064" (identifier "puVar25") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar27 = puVar25 + 0x1e9808;" (assignment_expression "puVar27 = puVar25 + 0x1e9808" (identifier "puVar27") (= "=") (binary_expression "puVar25 + 0x1e9808" (identifier "puVar25") (+ "+") (number_literal "0x1e9808"))) (; ";")) (expression_statement "puStack_94 = puVar2;" (assignment_expression "puStack_94 = puVar2" (identifier "puStack_94") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);" (assignment_expression "puVar23 = *(undefined4 **)(puVar25 + 0x1e2188)" (identifier "puVar23") (= "=") (pointer_expression "*(undefined4 **)(puVar25 + 0x1e2188)" (* "*") (cast_expression "(undefined4 **)(puVar25 + 0x1e2188)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x1e2188)" (( "(") (binary_expression "puVar25 + 0x1e2188" (identifier "puVar25") (+ "+") (number_literal "0x1e2188")) () ")"))))) (; ";")) (expression_statement "pppuStack_9c = (uint ***)param_9;" (assignment_expression "pppuStack_9c = (uint ***)param_9" (identifier "pppuStack_9c") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "pppuStack_a0 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_a0 = (uint ***)ppppuVar7" (identifier "pppuStack_a0") (= "=") (cast_expression "(uint ***)ppppuVar7" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar7"))) (; ";")) (expression_statement "pppuStack_a4 = (uint ***)*puVar23;" (assignment_expression "pppuStack_a4 = (uint ***)*puVar23" (identifier "pppuStack_a4") (= "=") (cast_expression "(uint ***)*puVar23" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")))) (; ";")) (expression_statement "puStack_f0 = puVar27;" (assignment_expression "puStack_f0 = puVar27" (identifier "puStack_f0") (= "=") (identifier "puVar27")) (; ";")) (expression_statement "pppuStack_98 = (uint ***)param_1;" (assignment_expression "pppuStack_98 = (uint ***)param_1" (identifier "pppuStack_98") (= "=") (cast_expression "(uint ***)param_1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "iStack_90 = iVar3;" (assignment_expression "iStack_90 = iVar3" (identifier "iStack_90") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iStack_8c = iVar4;" (assignment_expression "iStack_8c = iVar4" (identifier "iStack_8c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pppuStack_88 = (uint ***)param_4;" (assignment_expression "pppuStack_88 = (uint ***)param_4" (identifier "pppuStack_88") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "pppuStack_84 = (uint ***)param_3;" (assignment_expression "pppuStack_84 = (uint ***)param_3" (identifier "pppuStack_84") (= "=") (cast_expression "(uint ***)param_3" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "pppuStack_80 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_80 = (uint ***)unaff_s8" (identifier "pppuStack_80") (= "=") (cast_expression "(uint ***)unaff_s8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_7c = pcVar28;" (assignment_expression "pcStack_7c = pcVar28" (identifier "pcStack_7c") (= "=") (identifier "pcVar28")) (; ";")) (if_statement "if (ppppuVar21 == (uint ****)0x0) {\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }\n  else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" (if "if") (parenthesized_expression "(ppppuVar21 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar21 == (uint ****)0x0" (identifier "ppppuVar21") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001c777c:\n    ppppuVar22 = param_1;\n    ppppuVar21 = ppppuVar7;\n    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);\n    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);\n    (**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);\n  }" ({ "{") (labeled_statement "LAB_001c777c:\n    ppppuVar22 = param_1;" (statement_identifier "LAB_001c777c") (: ":") (expression_statement "ppppuVar22 = param_1;" (assignment_expression "ppppuVar22 = param_1" (identifier "ppppuVar22") (= "=") (identifier "param_1")) (; ";"))) (expression_statement "ppppuVar21 = ppppuVar7;" (assignment_expression "ppppuVar21 = ppppuVar7" (identifier "ppppuVar21") (= "=") (identifier "ppppuVar7")) (; ";")) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puVar27 + -0x7fc4) + -0x288c)" (( "(") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) () ")")))) (; ";")) (expression_statement "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);" (assignment_expression "ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puVar27 + -0x7fc8) + -0x37b0)" (( "(") (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc8)" (( "(") (binary_expression "puVar27 + -0x7fc8" (identifier "puVar27") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x37b0")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" (( "(") (pointer_expression "**(code **)(puVar27 + -0x72a8)" (* "*") (pointer_expression "*(code **)(puVar27 + -0x72a8)" (* "*") (cast_expression "(code **)(puVar27 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar27 + -0x72a8)" (( "(") (binary_expression "puVar27 + -0x72a8" (identifier "puVar27") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620)" (( "(") (identifier "ppppuVar7") (, ",") (identifier "ppppuVar13") (, ",") (number_literal "0xd9") (, ",") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2620")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" (else "else") (compound_statement "{\n    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }\n    if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }\n    puVar27 = puStack_f0;\n    if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }\n    iVar17 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;\n    iVar5 = *(int *)(puStack_f0 + -0x7fc4);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;\n    pppuVar6 = ppppuVar13[2];\n    pppuVar12 = *ppppuVar13;\n    if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }\n    ppppuVar7 = (uint ****)pppuStack_a4;\n    puVar27 = puStack_f0;\n    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }\n  }" ({ "{") (if_statement "if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" (if "if") (parenthesized_expression "(ppppuVar21[0xcdb] != (uint ***)0xabacadab)" (( "(") (binary_expression "ppppuVar21[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar21[0xcdb]" (identifier "ppppuVar21") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (cast_expression "(uint ***)0xabacadab" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xabacadab"))) () ")")) (compound_statement "{\nLAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);\n      ppppuVar7 = ppppuVar21;\n      goto LAB_001c777c;\n    }" ({ "{") (labeled_statement "LAB_001c7758:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" (statement_identifier "LAB_001c7758") (: ":") (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" (( "(") (pointer_expression "**(code **)(puVar27 + -0x72a8)" (* "*") (pointer_expression "*(code **)(puVar27 + -0x72a8)" (* "*") (cast_expression "(code **)(puVar27 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar27 + -0x72a8)" (( "(") (binary_expression "puVar27 + -0x72a8" (identifier "puVar27") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,\n                 *(int *)(puVar27 + -0x7fc4) + -0x2620)" (( "(") (binary_expression "*(int *)(puVar27 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(puVar27 + -0x7fc8)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc8)" (( "(") (binary_expression "puVar27 + -0x7fc8" (identifier "puVar27") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0xda") (, ",") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2620")) () ")"))) (; ";"))) (expression_statement "ppppuVar7 = ppppuVar21;" (assignment_expression "ppppuVar7 = ppppuVar21" (identifier "ppppuVar7") (= "=") (identifier "ppppuVar21")) (; ";")) (goto_statement "goto LAB_001c777c;" (goto "goto") (statement_identifier "LAB_001c777c") (; ";")) (} "}"))) (if_statement "if (ppppuVar21[0xcd4] != (uint ***)0x0) {\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" (if "if") (parenthesized_expression "(ppppuVar21[0xcd4] != (uint ***)0x0)" (( "(") (binary_expression "ppppuVar21[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar21[0xcd4]" (identifier "ppppuVar21") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);\n      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);\n      (**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);\n    }" ({ "{") (expression_statement "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);" (assignment_expression "pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0)" (identifier "pppuStack_fc") (= "=") (cast_expression "(uint ***)(ppppuVar21 + 0xd0)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(ppppuVar21 + 0xd0)" (( "(") (binary_expression "ppppuVar21 + 0xd0" (identifier "ppppuVar21") (+ "+") (number_literal "0xd0")) () ")")))) (; ";")) (expression_statement "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);" (assignment_expression "pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" (identifier "pppuStack_100") (= "=") (cast_expression "(uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puVar25 + 0x1e183c) + -0x62ac)" (( "(") (binary_expression "*(int *)(puVar25 + 0x1e183c) + -0x62ac" (pointer_expression "*(int *)(puVar25 + 0x1e183c)" (* "*") (cast_expression "(int *)(puVar25 + 0x1e183c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x1e183c)" (( "(") (binary_expression "puVar25 + 0x1e183c" (identifier "puVar25") (+ "+") (number_literal "0x1e183c")) () ")")))) (+ "+") (number_literal "-0x62ac")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);" (call_expression "(**(code **)(puVar25 + 0x1e2138))\n                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" (parenthesized_expression "(**(code **)(puVar25 + 0x1e2138))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x1e2138)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x1e2138)" (* "*") (cast_expression "(code **)(puVar25 + 0x1e2138)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x1e2138)" (( "(") (binary_expression "puVar25 + 0x1e2138" (identifier "puVar25") (+ "+") (number_literal "0x1e2138")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,\n                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x288c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" (* "*") (cast_expression "(int *)(puVar25 + 0x1e1844)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x1e1844)" (( "(") (binary_expression "puVar25 + 0x1e1844" (identifier "puVar25") (+ "+") (number_literal "0x1e1844")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (binary_expression "*(int *)(puVar25 + 0x1e1844) + -0x262c" (pointer_expression "*(int *)(puVar25 + 0x1e1844)" (* "*") (cast_expression "(int *)(puVar25 + 0x1e1844)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x1e1844)" (( "(") (binary_expression "puVar25 + 0x1e1844" (identifier "puVar25") (+ "+") (number_literal "0x1e1844")) () ")")))) (+ "+") (number_literal "-0x262c")) (, ",") (number_literal "0xdc") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" (identifier "puVar27") (= "=") (identifier "puStack_f0")) (; ";")) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" (if "if") (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar22 == (uint ****)0x0" (identifier "ppppuVar22") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;\n      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;\n      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;\nLAB_001c771c:\n      iVar17 = iVar17 + -0x2620;\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);\nLAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);\n      param_9 = ppppuVar13;\n      param_1 = ppppuVar22;\n      goto LAB_001c7758;\n    }" ({ "{") (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620" (identifier "iVar17") (= "=") (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x2620" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2620"))) (; ";")) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c" (identifier "iVar5") (= "=") (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)\n      ;" (call_expression "(**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x72a8))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x72a8)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x72a8)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x72a8)" (( "(") (binary_expression "puStack_f0 + -0x72a8" (identifier "puStack_f0") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)" (( "(") (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fd0)" (( "(") (binary_expression "puStack_f0 + -0x7fd0" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (identifier "iVar5") (, ",") (number_literal "0xdd") (, ",") (identifier "iVar17") () ")"))) (; ";")) (labeled_statement "LAB_001c771c:\n      iVar17 = iVar17 + -0x2620;" (statement_identifier "LAB_001c771c") (: ":") (expression_statement "iVar17 = iVar17 + -0x2620;" (assignment_expression "iVar17 = iVar17 + -0x2620" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -0x2620" (identifier "iVar17") (+ "+") (number_literal "-0x2620"))) (; ";"))) (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" (( "(") (pointer_expression "**(code **)(puVar27 + -0x72a8)" (* "*") (pointer_expression "*(code **)(puVar27 + -0x72a8)" (* "*") (cast_expression "(code **)(puVar27 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar27 + -0x72a8)" (( "(") (binary_expression "puVar27 + -0x72a8" (identifier "puVar27") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17)" (( "(") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x2874" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2874")) (, ",") (binary_expression "iVar5 + -0x288c" (identifier "iVar5") (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0xdf") (, ",") (identifier "iVar17") () ")"))) (; ";")) (labeled_statement "LAB_001c7738:\n      (**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" (statement_identifier "LAB_001c7738") (: ":") (expression_statement "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620);" (call_expression "(**(code **)(puVar27 + -0x72a8))\n                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" (parenthesized_expression "(**(code **)(puVar27 + -0x72a8))" (( "(") (pointer_expression "**(code **)(puVar27 + -0x72a8)" (* "*") (pointer_expression "*(code **)(puVar27 + -0x72a8)" (* "*") (cast_expression "(code **)(puVar27 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar27 + -0x72a8)" (( "(") (binary_expression "puVar27 + -0x72a8" (identifier "puVar27") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,\n                 iVar17 + -0x2620)" (( "(") (binary_expression "*(int *)(puVar27 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(puVar27 + -0x7fd0)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fd0)" (( "(") (binary_expression "puVar27 + -0x7fd0" (identifier "puVar27") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(puVar27 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puVar27 + -0x7fc4)" (* "*") (cast_expression "(int *)(puVar27 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -0x7fc4)" (( "(") (binary_expression "puVar27 + -0x7fc4" (identifier "puVar27") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0xde") (, ",") (binary_expression "iVar17 + -0x2620" (identifier "iVar17") (+ "+") (number_literal "-0x2620")) () ")"))) (; ";"))) (expression_statement "param_9 = ppppuVar13;" (assignment_expression "param_9 = ppppuVar13" (identifier "param_9") (= "=") (identifier "ppppuVar13")) (; ";")) (expression_statement "param_1 = ppppuVar22;" (assignment_expression "param_1 = ppppuVar22" (identifier "param_1") (= "=") (identifier "ppppuVar22")) (; ";")) (goto_statement "goto LAB_001c7758;" (goto "goto") (statement_identifier "LAB_001c7758") (; ";")) (} "}"))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7fc4)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (if_statement "if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;" (if "if") (parenthesized_expression "(ppppuVar22[7] != (uint ***)0xabacadab)" (( "(") (binary_expression "ppppuVar22[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar22[7]" (identifier "ppppuVar22") ([ "[") (number_literal "7") (] "]")) (!= "!=") (cast_expression "(uint ***)0xabacadab" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xabacadab"))) () ")")) (goto_statement "goto LAB_001c7738;" (goto "goto") (statement_identifier "LAB_001c7738") (; ";"))) (expression_statement "iVar5 = *(int *)(puStack_f0 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(puStack_f0 + -0x7fc4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;" (if "if") (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar13 == (uint ****)0x0" (identifier "ppppuVar13") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c771c;" (goto "goto") (statement_identifier "LAB_001c771c") (; ";"))) (expression_statement "pppuVar6 = ppppuVar13[2];" (assignment_expression "pppuVar6 = ppppuVar13[2]" (identifier "pppuVar6") (= "=") (subscript_expression "ppppuVar13[2]" (identifier "ppppuVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pppuVar12 = *ppppuVar13;" (assignment_expression "pppuVar12 = *ppppuVar13" (identifier "pppuVar12") (= "=") (pointer_expression "*ppppuVar13" (* "*") (identifier "ppppuVar13"))) (; ";")) (if_statement "if ((int)pppuVar6 + (int)pppuVar12 < 0) {\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }\n    else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" (if "if") (parenthesized_expression "((int)pppuVar6 + (int)pppuVar12 < 0)" (( "(") (binary_expression "(int)pppuVar6 + (int)pppuVar12 < 0" (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")) (+ "+") (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;\n      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;\n      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);\n      param_9 = (uint ****)0x0;\n      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);\n      pppuStack_100 = (uint ***)0x136;\n      pppuStack_f4 = (uint ***)ppppuVar21;\n      (**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);\n    }" ({ "{") (labeled_statement "LAB_001c7544:\n      ppppuVar21 = ppppuVar21 + 0xd0;" (statement_identifier "LAB_001c7544") (: ":") (expression_statement "ppppuVar21 = ppppuVar21 + 0xd0;" (assignment_expression "ppppuVar21 = ppppuVar21 + 0xd0" (identifier "ppppuVar21") (= "=") (binary_expression "ppppuVar21 + 0xd0" (identifier "ppppuVar21") (+ "+") (number_literal "0xd0"))) (; ";"))) (expression_statement "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28" (identifier "iStack_f8") (= "=") (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fd0)" (( "(") (binary_expression "puStack_f0 + -0x7fd0" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fc4) + -0x288c)" (( "(") (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) () ")")))) (; ";")) (expression_statement "param_9 = (uint ****)0x0;" (assignment_expression "param_9 = (uint ****)0x0" (identifier "param_9") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);" (assignment_expression "pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" (identifier "pppuStack_fc") (= "=") (cast_expression "(uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc)" (( "(") (binary_expression "*(int *)(puStack_f0 + -0x7fd0) + 0x16bc" (pointer_expression "*(int *)(puStack_f0 + -0x7fd0)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fd0)" (( "(") (binary_expression "puStack_f0 + -0x7fd0" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x16bc")) () ")")))) (; ";")) (expression_statement "pppuStack_100 = (uint ***)0x136;" (assignment_expression "pppuStack_100 = (uint ***)0x136" (identifier "pppuStack_100") (= "=") (cast_expression "(uint ***)0x136" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x136"))) (; ";")) (expression_statement "pppuStack_f4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_f4 = (uint ***)ppppuVar21" (identifier "pppuStack_f4") (= "=") (cast_expression "(uint ***)ppppuVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar21"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);" (call_expression "(**(code **)(puStack_f0 + -0x7990))\n                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7990))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7990)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7990)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7990)" (( "(") (binary_expression "puStack_f0 + -0x7990" (identifier "puStack_f0") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4)" (( "(") (identifier "ppppuVar22") (, ",") (identifier "ppppuVar13") (, ",") (binary_expression "*(int *)(puStack_f0 + -0x7fc4) + -0x262c" (pointer_expression "*(int *)(puStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7fc4)" (( "(") (binary_expression "puStack_f0 + -0x7fc4" (identifier "puStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x262c")) (, ",") (number_literal "0xe4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      pppuVar10 = ppppuVar13[3];\n      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];\n      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;\n      pppuVar14 = ppppuVar21[7];\n      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;\n      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }\n      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);\n      if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }\n      ppuStack_d4 = (uint **)pppuVar12;\n      ppuStack_cc = (uint **)pppuVar6;\n      if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }\n      ppuStack_c8 = (uint **)pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }\n      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);\n      pppuStack_100 = (uint ***)ppppuVar22;\n      param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);\n      if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }\n    }" ({ "{") (expression_statement "pppuVar10 = ppppuVar13[3];" (assignment_expression "pppuVar10 = ppppuVar13[3]" (identifier "pppuVar10") (= "=") (subscript_expression "ppppuVar13[3]" (identifier "ppppuVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];" (assignment_expression "iVar5 = (int)pppuVar10 + (int)ppppuVar13[1]" (identifier "iVar5") (= "=") (binary_expression "(int)pppuVar10 + (int)ppppuVar13[1]" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (+ "+") (cast_expression "(int)ppppuVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar13[1]" (identifier "ppppuVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))\n      goto LAB_001c7544;" (if "if") (parenthesized_expression "((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))" (( "(") (binary_expression "(iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6)" (( "(") (comma_expression "pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6" (assignment_expression "pppuVar18 = ppppuVar21[6]" (identifier "pppuVar18") (= "=") (subscript_expression "ppppuVar21[6]" (identifier "ppppuVar21") ([ "[") (number_literal "6") (] "]"))) (, ",") (binary_expression "(int)pppuVar18 < (int)pppuVar6" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (< "<") (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")))) () ")"))) () ")")) (goto_statement "goto LAB_001c7544;" (goto "goto") (statement_identifier "LAB_001c7544") (; ";"))) (expression_statement "pppuVar14 = ppppuVar21[7];" (assignment_expression "pppuVar14 = ppppuVar21[7]" (identifier "pppuVar14") (= "=") (subscript_expression "ppppuVar21[7]" (identifier "ppppuVar21") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;" (if "if") (parenthesized_expression "((int)pppuVar14 < (int)pppuVar10)" (( "(") (binary_expression "(int)pppuVar14 < (int)pppuVar10" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (< "<") (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10"))) () ")")) (goto_statement "goto LAB_001c7544;" (goto "goto") (statement_identifier "LAB_001c7544") (; ";"))) (if_statement "if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" (if "if") (parenthesized_expression "((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12)" (( "(") (binary_expression "(int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (< "<") (binary_expression "(int)pppuVar6 + (int)pppuVar12" (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")) (+ "+") (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")))) () ")")) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);\n      }" ({ "{") (expression_statement "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6)" (identifier "pppuVar12") (= "=") (cast_expression "(uint ***)((int)pppuVar18 - (int)pppuVar6)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuVar18 - (int)pppuVar6)" (( "(") (binary_expression "(int)pppuVar18 - (int)pppuVar6" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (- "-") (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6"))) () ")")))) (; ";")) (} "}"))) (expression_statement "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10)" (identifier "ppuStack_d0") (= "=") (cast_expression "(uint **)((int)pppuVar14 - (int)pppuVar10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar14 - (int)pppuVar10)" (( "(") (binary_expression "(int)pppuVar14 - (int)pppuVar10" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (- "-") (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10"))) () ")")))) (; ";")) (if_statement "if (iVar5 <= (int)pppuVar14) {\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" (if "if") (parenthesized_expression "(iVar5 <= (int)pppuVar14)" (( "(") (binary_expression "iVar5 <= (int)pppuVar14" (identifier "iVar5") (<= "<=") (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14"))) () ")")) (compound_statement "{\n        ppuStack_d0 = (uint **)ppppuVar13[1];\n      }" ({ "{") (expression_statement "ppuStack_d0 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_d0 = (uint **)ppppuVar13[1]" (identifier "ppuStack_d0") (= "=") (cast_expression "(uint **)ppppuVar13[1]" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppppuVar13[1]" (identifier "ppppuVar13") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (expression_statement "ppuStack_d4 = (uint **)pppuVar12;" (assignment_expression "ppuStack_d4 = (uint **)pppuVar12" (identifier "ppuStack_d4") (= "=") (cast_expression "(uint **)pppuVar12" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar12"))) (; ";")) (expression_statement "ppuStack_cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_cc = (uint **)pppuVar6" (identifier "ppuStack_cc") (= "=") (cast_expression "(uint **)pppuVar6" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar6"))) (; ";")) (if_statement "if ((int)pppuVar6 < 0) {\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" (if "if") (parenthesized_expression "((int)pppuVar6 < 0)" (( "(") (binary_expression "(int)pppuVar6 < 0" (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);\n        ppuStack_cc = (uint **)0x0;\n      }" ({ "{") (expression_statement "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);" (assignment_expression "ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6)" (identifier "ppuStack_d4") (= "=") (cast_expression "(uint **)((int)pppuVar12 + (int)pppuVar6)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar12 + (int)pppuVar6)" (( "(") (binary_expression "(int)pppuVar12 + (int)pppuVar6" (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")) (+ "+") (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6"))) () ")")))) (; ";")) (expression_statement "ppuStack_cc = (uint **)0x0;" (assignment_expression "ppuStack_cc = (uint **)0x0" (identifier "ppuStack_cc") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "ppuStack_c8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_c8 = (uint **)pppuVar10" (identifier "ppuStack_c8") (= "=") (cast_expression "(uint **)pppuVar10" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar10"))) (; ";")) (if_statement "if ((int)pppuVar10 < 0) {\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" (if "if") (parenthesized_expression "((int)pppuVar10 < 0)" (( "(") (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);\n        ppuStack_c8 = (uint **)0x0;\n      }" ({ "{") (expression_statement "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);" (assignment_expression "ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10)" (identifier "ppuStack_d0") (= "=") (cast_expression "(uint **)((int)ppuStack_d0 + (int)pppuVar10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuStack_d0 + (int)pppuVar10)" (( "(") (binary_expression "(int)ppuStack_d0 + (int)pppuVar10" (cast_expression "(int)ppuStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_d0")) (+ "+") (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10"))) () ")")))) (; ";")) (expression_statement "ppuStack_c8 = (uint **)0x0;" (assignment_expression "ppuStack_c8 = (uint **)0x0" (identifier "ppuStack_c8") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);" (assignment_expression "ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)((int)pppuVar18 - (int)ppuStack_d4)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppuVar18 - (int)ppuStack_d4)" (( "(") (binary_expression "(int)pppuVar18 - (int)ppuStack_d4" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (- "-") (cast_expression "(int)ppuStack_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_d4"))) () ")")))) (; ";")) (expression_statement "pppuStack_100 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_100 = (uint ***)ppppuVar22" (identifier "pppuStack_100") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (expression_statement "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);" (assignment_expression "param_9 = (uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (identifier "param_9") (= "=") (cast_expression "(uint ****)\n                (**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_f0 + -0x7080))\n                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7080))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7080)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7080)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7080)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7080)" (( "(") (binary_expression "puStack_f0 + -0x7080" (identifier "puStack_f0") (+ "+") (number_literal "-0x7080")) () ")"))))) () ")")) (argument_list "(ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1)" (( "(") (identifier "ppppuVar21") (, ",") (identifier "ppppuVar13") (, ",") (binary_expression "(int)pppuVar14 - (int)ppuStack_d0" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (- "-") (cast_expression "(int)ppuStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_d0"))) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (param_9 != (uint ****)0x0) {\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" (if "if") (parenthesized_expression "(param_9 != (uint ****)0x0)" (( "(") (binary_expression "param_9 != (uint ****)0x0" (identifier "param_9") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uStack_dc = 0;\n        uStack_e0 = 0;\n        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);\n        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        puStack_e4 = &uStack_e0;\n        param_3 = &pppuStack_c4;\n        param_4 = (uint ****)&ppuStack_d4;\n        pppuStack_a8 = (uint ***)0x1;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);\n        unaff_s8 = (uint ****)pppuStack_a8;\n        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);\n        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        pppuStack_a8 = (uint ***)puStack_e4;\n        pppuStack_ac = (uint ***)unaff_s8;\n        ppppuVar13 = param_3;\n        pppuStack_c4 = (uint ***)ppppuVar21;\n        pppuStack_c0 = (uint ***)ppppuVar22;\n        iStack_bc = iVar4;\n        iStack_b8 = iVar3;\n        pppuStack_b4 = (uint ***)param_9;\n        pppuStack_b0 = (uint ***)param_4;\n        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);\n        ppppuVar22 = (uint ****)pppuStack_ac;\n        (**(code **)(puStack_f0 + -0x79bc))(iVar4);\n        (**(code **)(puStack_f0 + -0x79bc))(iVar3);\n        param_9[0xa8] = ppppuVar21[0xa8];\n        if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }\n      }" ({ "{") (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" (identifier "uStack_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_e0 = 0;" (assignment_expression "uStack_e0 = 0" (identifier "uStack_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);" (assignment_expression "iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x715c))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x715c)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x715c)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x715c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x715c)" (( "(") (binary_expression "puStack_f0 + -0x715c" (identifier "puStack_f0") (+ "+") (number_literal "-0x715c")) () ")"))))) () ")")) (argument_list "(ppppuVar21,ppppuVar22)" (( "(") (identifier "ppppuVar21") (, ",") (identifier "ppppuVar22") () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);" (assignment_expression "iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79dc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x79dc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x79dc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x79dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x79dc)" (( "(") (binary_expression "puStack_f0 + -0x79dc" (identifier "puStack_f0") (+ "+") (number_literal "-0x79dc")) () ")"))))) () ")")) (argument_list "(param_9,ppppuVar22)" (( "(") (identifier "param_9") (, ",") (identifier "ppppuVar22") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(ppppuVar21)" (( "(") (identifier "ppppuVar21") () ")")))) (; ";")) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" (if "if") (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" (( "(") (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(ppppuVar21)" (( "(") (identifier "ppppuVar21") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (( "(") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(param_9)" (( "(") (identifier "param_9") () ")")))) (, ",") (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(param_9)" (( "(") (identifier "param_9") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          pppuVar6 = (uint ***)ppuStack_c8;\n          if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }\n          if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }\n        }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)ppuStack_c8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppuStack_c8"))) (; ";")) (if_statement "if ((int)ppuStack_c8 < 0) {\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" (if "if") (parenthesized_expression "((int)ppuStack_c8 < 0)" (( "(") (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n          }" ({ "{") (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" (( "(") (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (+ "+") (number_literal "0x3f")) () ")")))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_04 < (int)pppuVar6 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }\n          else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" (if "if") (parenthesized_expression "(extraout_v1_04 < (int)pppuVar6 >> 6)" (( "(") (binary_expression "extraout_v1_04 < (int)pppuVar6 >> 6" (identifier "extraout_v1_04") (< "<") (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")) (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_08 < 2;\n          }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_08 < 2;" (assignment_expression "bVar1 = extraout_v1_08 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_08 < 2" (identifier "extraout_v1_08") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" (else "else") (compound_statement "{\n            bVar1 = (int)ppuStack_c8 < 0x80;\n          }" ({ "{") (expression_statement "bVar1 = (int)ppuStack_c8 < 0x80;" (assignment_expression "bVar1 = (int)ppuStack_c8 < 0x80" (identifier "bVar1") (= "=") (binary_expression "(int)ppuStack_c8 < 0x80" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }\n          else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            pppuVar6 = (uint ***)ppuStack_c8;\n            if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }\n            iVar5 = (int)pppuVar6 >> 6;\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n            if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }\n          }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "pppuVar6 = (uint ***)ppuStack_c8;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_c8" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)ppuStack_c8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppuStack_c8"))) (; ";")) (if_statement "if ((int)ppuStack_c8 < 0) {\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" (if "if") (parenthesized_expression "((int)ppuStack_c8 < 0)" (( "(") (binary_expression "(int)ppuStack_c8 < 0" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);\n            }" ({ "{") (expression_statement "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);" (assignment_expression "pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f)" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)((int)ppuStack_c8 + 0x3f)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuStack_c8 + 0x3f)" (( "(") (binary_expression "(int)ppuStack_c8 + 0x3f" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (+ "+") (number_literal "0x3f")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar5 = (int)pppuVar6 >> 6;" (assignment_expression "iVar5 = (int)pppuVar6 >> 6" (identifier "iVar5") (= "=") (binary_expression "(int)pppuVar6 >> 6" (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")) (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7f10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7f10)" (( "(") (binary_expression "puStack_f0 + -0x7f10" (identifier "puStack_f0") (+ "+") (number_literal "-0x7f10")) () ")"))))) (; ";")) (if_statement "if (extraout_v1_09 < iVar5) {\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" (if "if") (parenthesized_expression "(extraout_v1_09 < iVar5)" (( "(") (binary_expression "extraout_v1_09 < iVar5" (identifier "extraout_v1_09") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              goto LAB_001c75c4;\n            }" ({ "{") (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (goto_statement "goto LAB_001c75c4;" (goto "goto") (statement_identifier "LAB_001c75c4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" (else "else") (compound_statement "{\n            iVar17 = *(int *)(puStack_f0 + -0x7f10);\n          }" ({ "{") (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7f10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7f10)" (( "(") (binary_expression "puStack_f0 + -0x7f10" (identifier "puStack_f0") (+ "+") (number_literal "-0x7f10")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" (else "else") (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" ({ "{") (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" (identifier "uVar33") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }\n          else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            uVar33 = (*pcVar28)(7);\n            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (1 < (uint)uVar33) goto LAB_001c7280;\n            iVar5 = 1;\n          }" ({ "{") (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" (if "if") (parenthesized_expression "(1 < (uint)uVar33)" (( "(") (binary_expression "1 < (uint)uVar33" (number_literal "1") (< "<") (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33"))) () ")")) (goto_statement "goto LAB_001c7280;" (goto "goto") (statement_identifier "LAB_001c7280") (; ";"))) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c727c;" (goto "goto") (statement_identifier "LAB_001c727c") (; ";"))) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if (1 < (uint)uVar33) goto LAB_001c7280;" (if "if") (parenthesized_expression "(1 < (uint)uVar33)" (( "(") (binary_expression "1 < (uint)uVar33" (number_literal "1") (< "<") (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33"))) () ")")) (goto_statement "goto LAB_001c7280;" (goto "goto") (statement_identifier "LAB_001c7280") (; ";"))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" (else "else") (compound_statement "{\nLAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\nLAB_001c7280:\n            uVar33 = (*pcVar28)(7);\n            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }\n          }" ({ "{") (labeled_statement "LAB_001c727c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" (statement_identifier "LAB_001c727c") (: ":") (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";"))) (labeled_statement "LAB_001c7280:\n            uVar33 = (*pcVar28)(7);" (statement_identifier "LAB_001c7280") (: ":") (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }\n            else {\n              iVar5 = 2;\n            }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (( "(") (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (, ",") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_001c75c4:\n              (*pcVar28)(7);\n              iVar5 = extraout_v1_07;\n            }" ({ "{") (labeled_statement "LAB_001c75c4:\n              (*pcVar28)(7);" (statement_identifier "LAB_001c75c4") (: ":") (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar5 = extraout_v1_07;" (assignment_expression "iVar5 = extraout_v1_07" (identifier "iVar5") (= "=") (identifier "extraout_v1_07")) (; ";")) (} "}")) (else_clause "else {\n              iVar5 = 2;\n            }" (else "else") (compound_statement "{\n              iVar5 = 2;\n            }" ({ "{") (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" (identifier "iVar5") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7f10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7f10)" (( "(") (binary_expression "puStack_f0 + -0x7f10" (identifier "puStack_f0") (+ "+") (number_literal "-0x7f10")) () ")"))))) (; ";")) (} "}")))) (expression_statement "puStack_e4 = &uStack_e0;" (assignment_expression "puStack_e4 = &uStack_e0" (identifier "puStack_e4") (= "=") (pointer_expression "&uStack_e0" (& "&") (identifier "uStack_e0"))) (; ";")) (expression_statement "param_3 = &pppuStack_c4;" (assignment_expression "param_3 = &pppuStack_c4" (identifier "param_3") (= "=") (pointer_expression "&pppuStack_c4" (& "&") (identifier "pppuStack_c4"))) (; ";")) (expression_statement "param_4 = (uint ****)&ppuStack_d4;" (assignment_expression "param_4 = (uint ****)&ppuStack_d4" (identifier "param_4") (= "=") (cast_expression "(uint ****)&ppuStack_d4" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&ppuStack_d4" (& "&") (identifier "ppuStack_d4")))) (; ";")) (expression_statement "pppuStack_a8 = (uint ***)0x1;" (assignment_expression "pppuStack_a8 = (uint ***)0x1" (identifier "pppuStack_a8") (= "=") (cast_expression "(uint ***)0x1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" (identifier "pppuStack_c4") (= "=") (cast_expression "(uint ***)ppppuVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar21"))) (; ";")) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" (identifier "pppuStack_c0") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" (identifier "iStack_bc") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" (identifier "iStack_b8") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" (identifier "pppuStack_b4") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "pppuStack_b0 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_b0 = (uint ***)puStack_e4" (identifier "pppuStack_b0") (= "=") (cast_expression "(uint ***)puStack_e4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "puStack_e4"))) (; ";")) (expression_statement "pppuStack_ac = (uint ***)param_4;" (assignment_expression "pppuStack_ac = (uint ***)param_4" (identifier "pppuStack_ac") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7718)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7718)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7718)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7718)" (( "(") (binary_expression "puStack_f0 + -0x7718" (identifier "puStack_f0") (+ "+") (number_literal "-0x7718")) () ")"))))) () ")")) (argument_list "(iVar17 + 0x4ed8,param_3,iVar5,0)" (( "(") (binary_expression "iVar17 + 0x4ed8" (identifier "iVar17") (+ "+") (number_literal "0x4ed8")) (, ",") (identifier "param_3") (, ",") (identifier "iVar5") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "unaff_s8 = (uint ****)pppuStack_a8;" (assignment_expression "unaff_s8 = (uint ****)pppuStack_a8" (identifier "unaff_s8") (= "=") (cast_expression "(uint ****)pppuStack_a8" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_a8"))) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(ppppuVar21)" (( "(") (identifier "ppppuVar21") () ")")))) (; ";")) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }\n        else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" (if "if") (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))))" (( "(") (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))\n           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(ppppuVar21)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(ppppuVar21)" (( "(") (identifier "ppppuVar21") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))" (( "(") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3))" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(param_9)" (( "(") (identifier "param_9") () ")")))) (, ",") (binary_expression "iVar5 == 4 ||\n               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x73fc))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x73fc)" (( "(") (binary_expression "puStack_f0 + -0x73fc" (identifier "puStack_f0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(param_9)" (( "(") (identifier "param_9") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(puStack_f0 + -0x7774))(7);\n          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n          iVar5 = iVar17;\n          if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }\n          if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }\n          iVar5 = 1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (identifier "iVar17") (= "=") (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar21[7]" (identifier "ppppuVar21") ([ "[") (number_literal "7") (] "]"))) (- "-") (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" (( "(") (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (+ "+") (cast_expression "(int)ppuStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_d0"))) () ")")))) (; ";")) (expression_statement "iVar5 = iVar17;" (assignment_expression "iVar5 = iVar17" (identifier "iVar5") (= "=") (identifier "iVar17")) (; ";")) (if_statement "if (iVar17 < 0) {\n            iVar5 = iVar17 + 0x3f;\n          }" (if "if") (parenthesized_expression "(iVar17 < 0)" (( "(") (binary_expression "iVar17 < 0" (identifier "iVar17") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar5 = iVar17 + 0x3f;\n          }" ({ "{") (expression_statement "iVar5 = iVar17 + 0x3f;" (assignment_expression "iVar5 = iVar17 + 0x3f" (identifier "iVar5") (= "=") (binary_expression "iVar17 + 0x3f" (identifier "iVar17") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_05 < iVar5 >> 6) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }\n          else {\n            bVar1 = iVar17 < 0x80;\n          }" (if "if") (parenthesized_expression "(extraout_v1_05 < iVar5 >> 6)" (( "(") (binary_expression "extraout_v1_05 < iVar5 >> 6" (identifier "extraout_v1_05") (< "<") (binary_expression "iVar5 >> 6" (identifier "iVar5") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            bVar1 = extraout_v1_11 < 2;\n          }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_11 < 2" (identifier "extraout_v1_11") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            bVar1 = iVar17 < 0x80;\n          }" (else "else") (compound_statement "{\n            bVar1 = iVar17 < 0x80;\n          }" ({ "{") (expression_statement "bVar1 = iVar17 < 0x80;" (assignment_expression "bVar1 = iVar17 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar17 < 0x80" (identifier "iVar17") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            (**(code **)(puStack_f0 + -0x7774))(7);\n            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);\n            if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }\n            iVar5 = iVar5 >> 6;\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;\n            goto LAB_001c7344;\n          }" ({ "{") (expression_statement "(**(code **)(puStack_f0 + -0x7774))(7);" (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);" (assignment_expression "iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (identifier "iVar5") (= "=") (binary_expression "(int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0)" (cast_expression "(int)ppppuVar21[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar21[7]" (identifier "ppppuVar21") ([ "[") (number_literal "7") (] "]"))) (- "-") (parenthesized_expression "((int)ppuStack_c8 + (int)ppuStack_d0)" (( "(") (binary_expression "(int)ppuStack_c8 + (int)ppuStack_d0" (cast_expression "(int)ppuStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_c8")) (+ "+") (cast_expression "(int)ppuStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_d0"))) () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n              iVar5 = iVar5 + 0x3f;\n            }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              iVar5 = iVar5 + 0x3f;\n            }" ({ "{") (expression_statement "iVar5 = iVar5 + 0x3f;" (assignment_expression "iVar5 = iVar5 + 0x3f" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 0x3f" (identifier "iVar5") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" (identifier "iVar5") (= "=") (binary_expression "iVar5 >> 6" (identifier "iVar5") (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if (extraout_v1_10 < iVar5) goto LAB_001c75a4;" (if "if") (parenthesized_expression "(extraout_v1_10 < iVar5)" (( "(") (binary_expression "extraout_v1_10 < iVar5" (identifier "extraout_v1_10") (< "<") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_001c75a4;" (goto "goto") (statement_identifier "LAB_001c75a4") (; ";"))) (goto_statement "goto LAB_001c7344;" (goto "goto") (statement_identifier "LAB_001c7344") (; ";")) (} "}"))) (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7f10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7f10)" (( "(") (binary_expression "puStack_f0 + -0x7f10" (identifier "puStack_f0") (+ "+") (number_literal "-0x7f10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" (else "else") (compound_statement "{\n          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }\n          uVar33 = (*pcVar28)(7);\n          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }\nLAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);\n        }" ({ "{") (expression_statement "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);" (assignment_expression "uVar33 = (**(code **)(puStack_f0 + -0x7774))(7)" (identifier "uVar33") (= "=") (call_expression "(**(code **)(puStack_f0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }\n          else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n            if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar33 < 2) {\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" (if "if") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              uVar33 = (*pcVar28)(7);\n              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;\n              pcVar28 = *(code **)(puStack_f0 + -0x7774);\n              if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }\n            }" ({ "{") (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c732c;" (goto "goto") (statement_identifier "LAB_001c732c") (; ";"))) (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar33 < 2) {\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" (if "if") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                iVar5 = 1;\n                goto LAB_001c7344;\n              }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001c7344;" (goto "goto") (statement_identifier "LAB_001c7344") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" (else "else") (compound_statement "{\nLAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);\n          }" ({ "{") (labeled_statement "LAB_001c732c:\n            pcVar28 = *(code **)(puStack_f0 + -0x7774);" (statement_identifier "LAB_001c732c") (: ":") (expression_statement "pcVar28 = *(code **)(puStack_f0 + -0x7774);" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar33 = (*pcVar28)(7);" (assignment_expression "uVar33 = (*pcVar28)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }\n          else {\n            iVar5 = 2;\n          }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)" (( "(") (comma_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2" (assignment_expression "pcVar28 = *(code **)(puStack_f0 + -0x7774)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puStack_f0 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7774)" (( "(") (binary_expression "puStack_f0 + -0x7774" (identifier "puStack_f0") (+ "+") (number_literal "-0x7774")) () ")"))))) (, ",") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_001c75a4:\n            (*pcVar28)(7);\n            iVar5 = extraout_v1_06;\n          }" ({ "{") (labeled_statement "LAB_001c75a4:\n            (*pcVar28)(7);" (statement_identifier "LAB_001c75a4") (: ":") (expression_statement "(*pcVar28)(7);" (call_expression "(*pcVar28)(7)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar5 = extraout_v1_06;" (assignment_expression "iVar5 = extraout_v1_06" (identifier "iVar5") (= "=") (identifier "extraout_v1_06")) (; ";")) (} "}")) (else_clause "else {\n            iVar5 = 2;\n          }" (else "else") (compound_statement "{\n            iVar5 = 2;\n          }" ({ "{") (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" (identifier "iVar5") (= "=") (number_literal "2")) (; ";")) (} "}")))) (labeled_statement "LAB_001c7344:\n          iVar17 = *(int *)(puStack_f0 + -0x7f10);" (statement_identifier "LAB_001c7344") (: ":") (expression_statement "iVar17 = *(int *)(puStack_f0 + -0x7f10);" (assignment_expression "iVar17 = *(int *)(puStack_f0 + -0x7f10)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puStack_f0 + -0x7f10)" (* "*") (cast_expression "(int *)(puStack_f0 + -0x7f10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_f0 + -0x7f10)" (( "(") (binary_expression "puStack_f0 + -0x7f10" (identifier "puStack_f0") (+ "+") (number_literal "-0x7f10")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "pppuStack_a8 = (uint ***)puStack_e4;" (assignment_expression "pppuStack_a8 = (uint ***)puStack_e4" (identifier "pppuStack_a8") (= "=") (cast_expression "(uint ***)puStack_e4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "puStack_e4"))) (; ";")) (expression_statement "pppuStack_ac = (uint ***)unaff_s8;" (assignment_expression "pppuStack_ac = (uint ***)unaff_s8" (identifier "pppuStack_ac") (= "=") (cast_expression "(uint ***)unaff_s8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "ppppuVar13 = param_3;" (assignment_expression "ppppuVar13 = param_3" (identifier "ppppuVar13") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppuStack_c4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_c4 = (uint ***)ppppuVar21" (identifier "pppuStack_c4") (= "=") (cast_expression "(uint ***)ppppuVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar21"))) (; ";")) (expression_statement "pppuStack_c0 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_c0 = (uint ***)ppppuVar22" (identifier "pppuStack_c0") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (expression_statement "iStack_bc = iVar4;" (assignment_expression "iStack_bc = iVar4" (identifier "iStack_bc") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iStack_b8 = iVar3;" (assignment_expression "iStack_b8 = iVar3" (identifier "iStack_b8") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "pppuStack_b4 = (uint ***)param_9;" (assignment_expression "pppuStack_b4 = (uint ***)param_9" (identifier "pppuStack_b4") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "pppuStack_b0 = (uint ***)param_4;" (assignment_expression "pppuStack_b0 = (uint ***)param_4" (identifier "pppuStack_b0") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);" (call_expression "(**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7718))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7718)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7718)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7718)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7718)" (( "(") (binary_expression "puStack_f0 + -0x7718" (identifier "puStack_f0") (+ "+") (number_literal "-0x7718")) () ")"))))) () ")")) (argument_list "(iVar17 + 0x4bf0,param_3,iVar5,0)" (( "(") (binary_expression "iVar17 + 0x4bf0" (identifier "iVar17") (+ "+") (number_literal "0x4bf0")) (, ",") (identifier "param_3") (, ",") (identifier "iVar5") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "ppppuVar22 = (uint ****)pppuStack_ac;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_ac" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)pppuStack_ac" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_ac"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar4);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar4)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x79bc)" (( "(") (binary_expression "puStack_f0 + -0x79bc" (identifier "puStack_f0") (+ "+") (number_literal "-0x79bc")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_f0 + -0x79bc))(iVar3);" (call_expression "(**(code **)(puStack_f0 + -0x79bc))(iVar3)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x79bc))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x79bc)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x79bc)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x79bc)" (( "(") (binary_expression "puStack_f0 + -0x79bc" (identifier "puStack_f0") (+ "+") (number_literal "-0x79bc")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "param_9[0xa8] = ppppuVar21[0xa8];" (assignment_expression "param_9[0xa8] = ppppuVar21[0xa8]" (subscript_expression "param_9[0xa8]" (identifier "param_9") ([ "[") (number_literal "0xa8") (] "]")) (= "=") (subscript_expression "ppppuVar21[0xa8]" (identifier "ppppuVar21") ([ "[") (number_literal "0xa8") (] "]"))) (; ";")) (if_statement "if (ppppuVar22 == (uint ****)0x0) {\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" (if "if") (parenthesized_expression "(ppppuVar22 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar22 == (uint ****)0x0" (identifier "ppppuVar22") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);\n        }" ({ "{") (expression_statement "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);" (assignment_expression "param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" (identifier "param_9") (= "=") (cast_expression "(uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_f0 + -0x7964))(param_9)" (parenthesized_expression "(**(code **)(puStack_f0 + -0x7964))" (( "(") (pointer_expression "**(code **)(puStack_f0 + -0x7964)" (* "*") (pointer_expression "*(code **)(puStack_f0 + -0x7964)" (* "*") (cast_expression "(code **)(puStack_f0 + -0x7964)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_f0 + -0x7964)" (( "(") (binary_expression "puStack_f0 + -0x7964" (identifier "puStack_f0") (+ "+") (number_literal "-0x7964")) () ")"))))) () ")")) (argument_list "(param_9)" (( "(") (identifier "param_9") () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "ppppuVar7 = (uint ****)pppuStack_a4;" (assignment_expression "ppppuVar7 = (uint ****)pppuStack_a4" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)pppuStack_a4" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_a4"))) (; ";")) (expression_statement "puVar27 = puStack_f0;" (assignment_expression "puVar27 = puStack_f0" (identifier "puVar27") (= "=") (identifier "puStack_f0")) (; ";")) (if_statement "if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {\n      return param_9;\n    }" (if "if") (parenthesized_expression "((uint ****)pppuStack_a4 == (uint ****)*puVar23)" (( "(") (binary_expression "(uint ****)pppuStack_a4 == (uint ****)*puVar23" (cast_expression "(uint ****)pppuStack_a4" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_a4")) (== "==") (cast_expression "(uint ****)*puVar23" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")))) () ")")) (compound_statement "{\n      return param_9;\n    }" ({ "{") (return_statement "return param_9;" (return "return") (identifier "param_9") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar26 = *(code **)(puVar27 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(puVar27 + -0x784c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar27 + -0x784c)" (* "*") (cast_expression "(code **)(puVar27 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar27 + -0x784c)" (( "(") (binary_expression "puVar27 + -0x784c" (identifier "puVar27") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar29 = ConsolidateCMYKImages;" (assignment_expression "pcVar29 = ConsolidateCMYKImages" (identifier "pcVar29") (= "=") (identifier "ConsolidateCMYKImages")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar28 = pcVar26 + 0x1e9104;" (assignment_expression "pcVar28 = pcVar26 + 0x1e9104" (identifier "pcVar28") (= "=") (binary_expression "pcVar26 + 0x1e9104" (identifier "pcVar26") (+ "+") (number_literal "0x1e9104"))) (; ";")) (expression_statement "piStack_14c = *(int **)(pcVar26 + 0x1e1a84);" (assignment_expression "piStack_14c = *(int **)(pcVar26 + 0x1e1a84)" (identifier "piStack_14c") (= "=") (pointer_expression "*(int **)(pcVar26 + 0x1e1a84)" (* "*") (cast_expression "(int **)(pcVar26 + 0x1e1a84)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1a84)" (( "(") (binary_expression "pcVar26 + 0x1e1a84" (identifier "pcVar26") (+ "+") (number_literal "0x1e1a84")) () ")"))))) (; ";")) (expression_statement "ppppuVar15 = (uint ****)&DAT_000001b4;" (assignment_expression "ppppuVar15 = (uint ****)&DAT_000001b4" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)&DAT_000001b4" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&DAT_000001b4" (& "&") (identifier "DAT_000001b4")))) (; ";")) (expression_statement "ppuStack_144 = (uint **)*piStack_14c;" (assignment_expression "ppuStack_144 = (uint **)*piStack_14c" (identifier "ppuStack_144") (= "=") (cast_expression "(uint **)*piStack_14c" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*piStack_14c" (* "*") (identifier "piStack_14c")))) (; ";")) (expression_statement "pcStack_168 = pcVar28;" (assignment_expression "pcStack_168 = pcVar28" (identifier "pcStack_168") (= "=") (identifier "pcVar28")) (; ";")) (expression_statement "pppuStack_158 = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_158 = (uint ***)ppppuVar13" (identifier "pppuStack_158") (= "=") (cast_expression "(uint ***)ppppuVar13" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar13"))) (; ";")) (expression_statement "pppuStack_140 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_140 = (uint ***)ppppuVar21" (identifier "pppuStack_140") (= "=") (cast_expression "(uint ***)ppppuVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar21"))) (; ";")) (expression_statement "pppuStack_13c = (uint ***)param_9;" (assignment_expression "pppuStack_13c = (uint ***)param_9" (identifier "pppuStack_13c") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "pppuStack_138 = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_138 = (uint ***)ppppuVar22" (identifier "pppuStack_138") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (expression_statement "puStack_134 = puVar23;" (assignment_expression "puStack_134 = puVar23" (identifier "puStack_134") (= "=") (identifier "puVar23")) (; ";")) (expression_statement "iStack_130 = iVar3;" (assignment_expression "iStack_130 = iVar3" (identifier "iStack_130") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iStack_12c = iVar4;" (assignment_expression "iStack_12c = iVar4" (identifier "iStack_12c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pppuStack_128 = (uint ***)param_4;" (assignment_expression "pppuStack_128 = (uint ***)param_4" (identifier "pppuStack_128") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "pppuStack_124 = (uint ***)param_3;" (assignment_expression "pppuStack_124 = (uint ***)param_3" (identifier "pppuStack_124") (= "=") (cast_expression "(uint ***)param_3" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "pppuStack_120 = (uint ***)unaff_s8;" (assignment_expression "pppuStack_120 = (uint ***)unaff_s8" (identifier "pppuStack_120") (= "=") (cast_expression "(uint ***)unaff_s8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_11c = pcVar29;" (assignment_expression "pcStack_11c = pcVar29" (identifier "pcStack_11c") (= "=") (identifier "pcVar29")) (; ";")) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }\n  else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" (if "if") (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar7 == (uint ****)0x0" (identifier "ppppuVar7") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001c7c28:\n    ppppuVar7 = param_3;\n    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);\n    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);\n    (**(code **)(pcVar28 + -0x72a8))();\n  }" ({ "{") (labeled_statement "LAB_001c7c28:\n    ppppuVar7 = param_3;" (statement_identifier "LAB_001c7c28") (: ":") (expression_statement "ppppuVar7 = param_3;" (assignment_expression "ppppuVar7 = param_3" (identifier "ppppuVar7") (= "=") (identifier "param_3")) (; ";"))) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + -0x7fc4) + -0x288c)" (( "(") (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fc4)" (( "(") (binary_expression "pcVar28 + -0x7fc4" (identifier "pcVar28") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) () ")")))) (; ";")) (expression_statement "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);" (assignment_expression "pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + -0x7fd0) + 0x1e48)" (( "(") (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1e48" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fd0)" (( "(") (binary_expression "pcVar28 + -0x7fd0" (identifier "pcVar28") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1e48")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + -0x72a8))();" (call_expression "(**(code **)(pcVar28 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar28 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar28 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar28 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + -0x72a8)" (( "(") (binary_expression "pcVar28 + -0x72a8" (identifier "pcVar28") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" (else "else") (compound_statement "{\n    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }\n    if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }\n    pcVar28 = pcStack_168;\n    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;\n    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;\n    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();\n    iStack_150 = 0;\n    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);\n    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n    if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }\n    pppuVar6 = (uint ***)ppuStack_144;\n    pcVar28 = pcStack_168;\n    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }\n  }" ({ "{") (if_statement "if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" (if "if") (parenthesized_expression "(ppppuVar7[0xcdb] != (uint ***)0xabacadab)" (( "(") (binary_expression "ppppuVar7[0xcdb] != (uint ***)0xabacadab" (subscript_expression "ppppuVar7[0xcdb]" (identifier "ppppuVar7") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (cast_expression "(uint ***)0xabacadab" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xabacadab"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);\nLAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);\nLAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;\n      param_3 = ppppuVar7;\n      goto LAB_001c7c28;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);" (call_expression "(**(code **)(pcVar26 + 0x1e1e5c))\n                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1e5c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x1e1e5c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x1e1e5c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x1e1e5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1e5c)" (( "(") (binary_expression "pcVar26 + 0x1e1e5c" (identifier "pcVar26") (+ "+") (number_literal "0x1e1e5c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,\n                 *(int *)(pcVar26 + 0x1e1140) + -0x2644)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x1e1134) + 0x1e64" (pointer_expression "*(int *)(pcVar26 + 0x1e1134)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1134)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1134)" (( "(") (binary_expression "pcVar26 + 0x1e1134" (identifier "pcVar26") (+ "+") (number_literal "0x1e1134")) () ")")))) (+ "+") (number_literal "0x1e64")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1140)" (( "(") (binary_expression "pcVar26 + 0x1e1140" (identifier "pcVar26") (+ "+") (number_literal "0x1e1140")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x1b5") (, ",") (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x2644" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1140)" (( "(") (binary_expression "pcVar26 + 0x1e1140" (identifier "pcVar26") (+ "+") (number_literal "0x1e1140")) () ")")))) (+ "+") (number_literal "-0x2644")) () ")"))) (; ";")) (labeled_statement "LAB_001c7bdc:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (statement_identifier "LAB_001c7bdc") (: ":") (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar28 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar28 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar28 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + -0x72a8)" (( "(") (binary_expression "pcVar28 + -0x72a8" (identifier "pcVar28") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (( "(") (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fd0)" (( "(") (binary_expression "pcVar28 + -0x7fd0" (identifier "pcVar28") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fc4)" (( "(") (binary_expression "pcVar28 + -0x7fc4" (identifier "pcVar28") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x1b8") (, ",") (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fc4)" (( "(") (binary_expression "pcVar28 + -0x7fc4" (identifier "pcVar28") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2644")) () ")"))) (; ";"))) (labeled_statement "LAB_001c7c00:\n      (**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (statement_identifier "LAB_001c7c00") (: ":") (expression_statement "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);" (call_expression "(**(code **)(pcVar28 + -0x72a8))\n                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (parenthesized_expression "(**(code **)(pcVar28 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar28 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar28 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar28 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + -0x72a8)" (( "(") (binary_expression "pcVar28 + -0x72a8" (identifier "pcVar28") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,\n                 *(int *)(pcVar28 + -0x7fc4) + -0x2644)" (( "(") (binary_expression "*(int *)(pcVar28 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcVar28 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fd0)" (( "(") (binary_expression "pcVar28 + -0x7fd0" (identifier "pcVar28") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x288c" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fc4)" (( "(") (binary_expression "pcVar28 + -0x7fc4" (identifier "pcVar28") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x1b9") (, ",") (binary_expression "*(int *)(pcVar28 + -0x7fc4) + -0x2644" (pointer_expression "*(int *)(pcVar28 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcVar28 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + -0x7fc4)" (( "(") (binary_expression "pcVar28 + -0x7fc4" (identifier "pcVar28") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x2644")) () ")"))) (; ";"))) (labeled_statement "LAB_001c7c24:\n      ppppuVar15 = (uint ****)0x1c0;" (statement_identifier "LAB_001c7c24") (: ":") (expression_statement "ppppuVar15 = (uint ****)0x1c0;" (assignment_expression "ppppuVar15 = (uint ****)0x1c0" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)0x1c0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1c0"))) (; ";"))) (expression_statement "param_3 = ppppuVar7;" (assignment_expression "param_3 = ppppuVar7" (identifier "param_3") (= "=") (identifier "ppppuVar7")) (; ";")) (goto_statement "goto LAB_001c7c28;" (goto "goto") (statement_identifier "LAB_001c7c28") (; ";")) (} "}"))) (if_statement "if (ppppuVar7[0xcd4] != (uint ***)0x0) {\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" (if "if") (parenthesized_expression "(ppppuVar7[0xcd4] != (uint ***)0x0)" (( "(") (binary_expression "ppppuVar7[0xcd4] != (uint ***)0x0" (subscript_expression "ppppuVar7[0xcd4]" (identifier "ppppuVar7") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);\n      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);\n      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);\n      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);\n      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);\n    }" ({ "{") (expression_statement "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);" (assignment_expression "pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0)" (identifier "pppuStack_16c") (= "=") (cast_expression "(uint ***)(ppppuVar7 + 0xd0)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(ppppuVar7 + 0xd0)" (( "(") (binary_expression "ppppuVar7 + 0xd0" (identifier "ppppuVar7") (+ "+") (number_literal "0xd0")) () ")")))) (; ";")) (expression_statement "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);" (assignment_expression "ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x265c)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x265c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1140)" (( "(") (binary_expression "pcVar26 + 0x1e1140" (identifier "pcVar26") (+ "+") (number_literal "0x1e1140")) () ")")))) (+ "+") (number_literal "-0x265c")) () ")")))) (; ";")) (expression_statement "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);" (assignment_expression "ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1140) + -0x288c)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x1e1140) + -0x288c" (pointer_expression "*(int *)(pcVar26 + 0x1e1140)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1140)" (( "(") (binary_expression "pcVar26 + 0x1e1140" (identifier "pcVar26") (+ "+") (number_literal "0x1e1140")) () ")")))) (+ "+") (number_literal "-0x288c")) () ")")))) (; ";")) (expression_statement "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);" (assignment_expression "pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" (identifier "pppuStack_170") (= "=") (cast_expression "(uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x1e1138) + -0x62ac)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x1e1138) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x1e1138)" (* "*") (cast_expression "(int *)(pcVar26 + 0x1e1138)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1138)" (( "(") (binary_expression "pcVar26 + 0x1e1138" (identifier "pcVar26") (+ "+") (number_literal "0x1e1138")) () ")")))) (+ "+") (number_literal "-0x62ac")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);" (call_expression "(**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1e1a34))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x1e1a34)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x1e1a34)" (* "*") (cast_expression "(code **)(pcVar26 + 0x1e1a34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x1e1a34)" (( "(") (binary_expression "pcVar26 + 0x1e1a34" (identifier "pcVar26") (+ "+") (number_literal "0x1e1a34")) () ")"))))) () ")")) (argument_list "(0x8000,ppppuVar13,ppppuVar15,0x1b7)" (( "(") (number_literal "0x8000") (, ",") (identifier "ppppuVar13") (, ",") (identifier "ppppuVar15") (, ",") (number_literal "0x1b7") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" (identifier "pcVar28") (= "=") (identifier "pcStack_168")) (; ";")) (if_statement "if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;" (if "if") (parenthesized_expression "((uint ****)pppuStack_158 == (uint ****)0x0)" (( "(") (binary_expression "(uint ****)pppuStack_158 == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_158" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_158")) (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c7bdc;" (goto "goto") (statement_identifier "LAB_001c7bdc") (; ";"))) (if_statement "if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;" (if "if") (parenthesized_expression "((uint ***)pppuStack_158[7] != (uint ***)0xabacadab)" (( "(") (binary_expression "(uint ***)pppuStack_158[7] != (uint ***)0xabacadab" (cast_expression "(uint ***)pppuStack_158[7]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuStack_158[7]" (identifier "pppuStack_158") ([ "[") (number_literal "7") (] "]"))) (!= "!=") (cast_expression "(uint ***)0xabacadab" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xabacadab"))) () ")")) (goto_statement "goto LAB_001c7c00;" (goto "goto") (statement_identifier "LAB_001c7c00") (; ";"))) (expression_statement "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();" (assignment_expression "pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" (identifier "pppuStack_148") (= "=") (cast_expression "(uint ***)(**(code **)(pcStack_168 + -0x7a2c))()" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(pcStack_168 + -0x7a2c))()" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a2c))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7a2c)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7a2c)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7a2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7a2c)" (( "(") (binary_expression "pcStack_168 + -0x7a2c" (identifier "pcStack_168") (+ "+") (number_literal "-0x7a2c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" (identifier "dVar32") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58)" (( "(") (binary_expression "*(int *)(pcStack_168 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_168 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_168 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_168 + -0x7fd0)" (( "(") (binary_expression "pcStack_168 + -0x7fd0" (identifier "pcStack_168") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7638)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7638)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7638)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7638)" (( "(") (binary_expression "pcStack_168 + -0x7638" (identifier "pcStack_168") (+ "+") (number_literal "-0x7638")) () ")"))))) () ")")) (argument_list "(ppppuVar7)" (( "(") (identifier "ppppuVar7") () ")")))) (; ";")) (if_statement "if (iStack_150 < iVar5) {\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" (if "if") (parenthesized_expression "(iStack_150 < iVar5)" (( "(") (binary_expression "iStack_150 < iVar5" (identifier "iStack_150") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n      do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);\n    }" ({ "{") (do_statement "do {\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      } while (iStack_150 < iVar5);" (do "do") (compound_statement "{\n        pcVar28 = pcStack_168;\n        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;\n        ppppuVar15 = (uint ****)0x0;\n        ppppuVar13 = (uint ****)0x0;\n        pppuStack_170 = pppuStack_158;\n        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);\n        ppppuVar16 = (uint ****)pppuStack_158;\n        if (param_4 == (uint ****)0x0) break;\n        ppppuVar13 = (uint ****)0x1;\n        ppppuVar15 = (uint ****)pppuStack_158;\n        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);\n        ppppuVar21 = ppppuVar16;\n        if (iVar5 == 0) break;\n        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);\n        ppppuVar21 = (uint ****)0x0;\n        ppppuVar15 = ppppuVar16;\n        do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));\n        iStack_150 = iStack_150 + 4;\n        ppppuVar13 = param_4;\n        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);\n        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);\n      }" ({ "{") (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" (identifier "pcVar28") (= "=") (identifier "pcStack_168")) (; ";")) (if_statement "if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;" (if "if") (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar7 == (uint ****)0x0" (identifier "ppppuVar7") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c7c24;" (goto "goto") (statement_identifier "LAB_001c7c24") (; ";"))) (expression_statement "ppppuVar15 = (uint ****)0x0;" (assignment_expression "ppppuVar15 = (uint ****)0x0" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppuStack_170 = pppuStack_158;" (assignment_expression "pppuStack_170 = pppuStack_158" (identifier "pppuStack_170") (= "=") (identifier "pppuStack_158")) (; ";")) (expression_statement "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);" (assignment_expression "param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" (identifier "param_4") (= "=") (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7080))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7080)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7080)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7080)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7080)" (( "(") (binary_expression "pcStack_168 + -0x7080" (identifier "pcStack_168") (+ "+") (number_literal "-0x7080")) () ")"))))) () ")")) (argument_list "(ppppuVar7,0,0,1)" (( "(") (identifier "ppppuVar7") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "ppppuVar16 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar16 = (uint ****)pppuStack_158" (identifier "ppppuVar16") (= "=") (cast_expression "(uint ****)pppuStack_158" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_158"))) (; ";")) (if_statement "if (param_4 == (uint ****)0x0) break;" (if "if") (parenthesized_expression "(param_4 == (uint ****)0x0)" (( "(") (binary_expression "param_4 == (uint ****)0x0" (identifier "param_4") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppppuVar13 = (uint ****)0x1;" (assignment_expression "ppppuVar13 = (uint ****)0x1" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)0x1" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppuVar15 = (uint ****)pppuStack_158;" (assignment_expression "ppppuVar15 = (uint ****)pppuStack_158" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)pppuStack_158" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_158"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x708c))(param_4)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x708c))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x708c)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x708c)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x708c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x708c)" (( "(") (binary_expression "pcStack_168 + -0x708c" (identifier "pcStack_168") (+ "+") (number_literal "-0x708c")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "ppppuVar21 = ppppuVar16;" (assignment_expression "ppppuVar21 = ppppuVar16" (identifier "ppppuVar21") (= "=") (identifier "ppppuVar16")) (; ";")) (if_statement "if (iVar5 == 0) break;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(**(code **)(pcStack_168 + -0x7b70))(param_4,2);" (call_expression "(**(code **)(pcStack_168 + -0x7b70))(param_4,2)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7b70))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7b70)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7b70)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7b70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7b70)" (( "(") (binary_expression "pcStack_168 + -0x7b70" (identifier "pcStack_168") (+ "+") (number_literal "-0x7b70")) () ")"))))) () ")")) (argument_list "(param_4,2)" (( "(") (identifier "param_4") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "ppppuVar21 = (uint ****)0x0;" (assignment_expression "ppppuVar21 = (uint ****)0x0" (identifier "ppppuVar21") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppuVar15 = ppppuVar16;" (assignment_expression "ppppuVar15 = ppppuVar16" (identifier "ppppuVar15") (= "=") (identifier "ppppuVar16")) (; ";")) (do_statement "do {\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        } while ((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004));" (do "do") (compound_statement "{\n          param_9 = (uint ****)pppuStack_158;\n          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);\n          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);\n          if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }\n          pcVar28 = *(code **)(pcStack_168 + -0x79bc);\nLAB_001c7ab8:\n          (*pcVar28)(uStack_15c);\n          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);\n          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);\n        }" ({ "{") (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" (identifier "param_9") (= "=") (cast_expression "(uint ****)pppuStack_158" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_158"))) (; ";")) (expression_statement "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);" (assignment_expression "uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" (identifier "uStack_154") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x715c))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x715c)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x715c)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x715c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x715c)" (( "(") (binary_expression "pcStack_168 + -0x715c" (identifier "pcStack_168") (+ "+") (number_literal "-0x715c")) () ")"))))) () ")")) (argument_list "(ppppuVar7,pppuStack_158)" (( "(") (identifier "ppppuVar7") (, ",") (identifier "pppuStack_158") () ")")))) (; ";")) (expression_statement "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);" (assignment_expression "uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" (identifier "uStack_15c") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x79dc))(param_4,param_9)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79dc))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x79dc)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x79dc)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x79dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x79dc)" (( "(") (binary_expression "pcStack_168 + -0x79dc" (identifier "pcStack_168") (+ "+") (number_literal "-0x79dc")) () ")"))))) () ")")) (argument_list "(param_4,param_9)" (( "(") (identifier "param_4") (, ",") (identifier "param_9") () ")")))) (; ";")) (if_statement "if (0 < (int)ppppuVar7[7]) {\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" (if "if") (parenthesized_expression "(0 < (int)ppppuVar7[7])" (( "(") (binary_expression "0 < (int)ppppuVar7[7]" (number_literal "0") (< "<") (cast_expression "(int)ppppuVar7[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[7]" (identifier "ppppuVar7") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n            ppppuVar22 = (uint ****)0x0;\n            while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }\n          }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)0x0;" (assignment_expression "ppppuVar22 = (uint ****)0x0" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (while_statement "while( true ) {\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              param_9 = (uint ****)pppuStack_158;\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = pppuStack_158;\n              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);\n              pppuStack_170 = (uint ***)0x1;\n              pppuStack_16c = (uint ***)param_9;\n              ppppuVar15 = ppppuVar22;\n              puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);\n              if (iVar3 == 0) break;\n              pcVar28 = *(code **)(pcStack_168 + -0x79bc);\n              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;\n              pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }\n              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);\n              if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;\n            }" ({ "{") (expression_statement "param_9 = (uint ****)pppuStack_158;" (assignment_expression "param_9 = (uint ****)pppuStack_158" (identifier "param_9") (= "=") (cast_expression "(uint ****)pppuStack_158" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_158"))) (; ";")) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" (identifier "pppuStack_170") (= "=") (cast_expression "(uint ***)0x1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppuStack_16c = pppuStack_158;" (assignment_expression "pppuStack_16c = pppuStack_158" (identifier "pppuStack_16c") (= "=") (identifier "pppuStack_158")) (; ";")) (expression_statement "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);" (assignment_expression "iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7254))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7254)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7254)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7254)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7254)" (( "(") (binary_expression "pcStack_168 + -0x7254" (identifier "pcStack_168") (+ "+") (number_literal "-0x7254")) () ")"))))) () ")")) (argument_list "(uStack_154,0,ppppuVar22,ppppuVar7[6])" (( "(") (identifier "uStack_154") (, ",") (number_literal "0") (, ",") (identifier "ppppuVar22") (, ",") (subscript_expression "ppppuVar7[6]" (identifier "ppppuVar7") ([ "[") (number_literal "6") (] "]")) () ")")))) (; ";")) (expression_statement "pppuStack_170 = (uint ***)0x1;" (assignment_expression "pppuStack_170 = (uint ***)0x1" (identifier "pppuStack_170") (= "=") (cast_expression "(uint ***)0x1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppuStack_16c = (uint ***)param_9;" (assignment_expression "pppuStack_16c = (uint ***)param_9" (identifier "pppuStack_16c") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "ppppuVar15 = ppppuVar22;" (assignment_expression "ppppuVar15 = ppppuVar22" (identifier "ppppuVar15") (= "=") (identifier "ppppuVar22")) (; ";")) (expression_statement "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);" (assignment_expression "puVar23 = (undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)\n                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6])" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7c60))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7c60)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7c60)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7c60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7c60)" (( "(") (binary_expression "pcStack_168 + -0x7c60" (identifier "pcStack_168") (+ "+") (number_literal "-0x7c60")) () ")"))))) () ")")) (argument_list "(uStack_15c,0,ppppuVar22,param_4[6])" (( "(") (identifier "uStack_15c") (, ",") (number_literal "0") (, ",") (identifier "ppppuVar22") (, ",") (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x79bc)" (( "(") (binary_expression "pcStack_168 + -0x79bc" (identifier "pcStack_168") (+ "+") (number_literal "-0x79bc")) () ")"))))) (; ";")) (if_statement "if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;" (if "if") (parenthesized_expression "(puVar23 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar23 == (undefined4 *)0x0" (identifier "puVar23") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c7ab8;" (goto "goto") (statement_identifier "LAB_001c7ab8") (; ";"))) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x73b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x73b8)" (( "(") (binary_expression "pcStack_168 + -0x73b8" (identifier "pcStack_168") (+ "+") (number_literal "-0x73b8")) () ")"))))) (; ";")) (if_statement "if (0 < (int)ppppuVar7[6]) {\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" (if "if") (parenthesized_expression "(0 < (int)ppppuVar7[6])" (( "(") (binary_expression "0 < (int)ppppuVar7[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppuVar7[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[6]" (identifier "ppppuVar7") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                param_9 = (uint ****)0x2;\n                iVar5 = 0;\n                do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);\nLAB_001c7a88:\n                iVar4 = iVar4 + 1;\n                pcVar28 = *(code **)(pcStack_168 + -0x73b8);\n              }" ({ "{") (expression_statement "param_9 = (uint ****)0x2;" (assignment_expression "param_9 = (uint ****)0x2" (identifier "param_9") (= "=") (cast_expression "(uint ****)0x2" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                } while (iVar4 + 1 < (int)ppppuVar7[6]);" (do "do") (compound_statement "{\n                  while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }\n                  if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }\n                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                  puVar23 = puVar23 + (int)param_4[0xb0];\n                  iVar5 = iVar4 + 1;\n                }" ({ "{") (while_statement "while( true ) {\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                    iVar4 = iVar5;\n                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);\n                    fVar31 = (float)(dVar32 - dVar30);\n                    if (ppppuVar21 != (uint ****)0x2) break;\n                    pppuVar6 = param_4[0xb0];\n                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;\n                    puVar23[(int)param_4[0xb4][8]] = fVar31;\n                    puVar23 = puVar23 + (int)pppuVar6;\n                    iVar5 = iVar4 + 1;\n                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;\n                  }" ({ "{") (expression_statement "iVar4 = iVar5;" (assignment_expression "iVar4 = iVar5" (identifier "iVar4") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);" (assignment_expression "dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" (identifier "dVar30") (= "=") (cast_expression "(double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7a58))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7a58)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7a58)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7a58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7a58)" (( "(") (binary_expression "pcStack_168 + -0x7a58" (identifier "pcStack_168") (+ "+") (number_literal "-0x7a58")) () ")"))))) () ")")) (argument_list "(ppppuVar7,iVar3)" (( "(") (identifier "ppppuVar7") (, ",") (identifier "iVar3") () ")"))))) (; ";")) (expression_statement "fVar31 = (float)(dVar32 - dVar30);" (assignment_expression "fVar31 = (float)(dVar32 - dVar30)" (identifier "fVar31") (= "=") (cast_expression "(float)(dVar32 - dVar30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(dVar32 - dVar30)" (( "(") (binary_expression "dVar32 - dVar30" (identifier "dVar32") (- "-") (identifier "dVar30")) () ")")))) (; ";")) (if_statement "if (ppppuVar21 != (uint ****)0x2) break;" (if "if") (parenthesized_expression "(ppppuVar21 != (uint ****)0x2)" (( "(") (binary_expression "ppppuVar21 != (uint ****)0x2" (identifier "ppppuVar21") (!= "!=") (cast_expression "(uint ****)0x2" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x2"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppuVar6 = param_4[0xb0];" (assignment_expression "pppuVar6 = param_4[0xb0]" (identifier "pppuVar6") (= "=") (subscript_expression "param_4[0xb0]" (identifier "param_4") ([ "[") (number_literal "0xb0") (] "]"))) (; ";")) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" (identifier "iVar3") (= "=") (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" (identifier "iVar3") (+ "+") (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[0xb0]" (identifier "ppppuVar7") ([ "[") (number_literal "0xb0") (] "]"))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "puVar23[(int)param_4[0xb4][8]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][8]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][8]]" (identifier "puVar23") ([ "[") (cast_expression "(int)param_4[0xb4][8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0xb4][8]" (subscript_expression "param_4[0xb4]" (identifier "param_4") ([ "[") (number_literal "0xb4") (] "]")) ([ "[") (number_literal "8") (] "]"))) (] "]")) (= "=") (identifier "fVar31")) (; ";")) (expression_statement "puVar23 = puVar23 + (int)pppuVar6;" (assignment_expression "puVar23 = puVar23 + (int)pppuVar6" (identifier "puVar23") (= "=") (binary_expression "puVar23 + (int)pppuVar6" (identifier "puVar23") (+ "+") (cast_expression "(int)pppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar6")))) (; ";")) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;" (if "if") (parenthesized_expression "((int)ppppuVar7[6] <= iVar4 + 1)" (( "(") (binary_expression "(int)ppppuVar7[6] <= iVar4 + 1" (cast_expression "(int)ppppuVar7[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[6]" (identifier "ppppuVar7") ([ "[") (number_literal "6") (] "]"))) (<= "<=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_001c7a88;" (goto "goto") (statement_identifier "LAB_001c7a88") (; ";"))) (} "}"))) (if_statement "if (ppppuVar21 == (uint ****)0x3) {\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }\n                  else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" (if "if") (parenthesized_expression "(ppppuVar21 == (uint ****)0x3)" (( "(") (binary_expression "ppppuVar21 == (uint ****)0x3" (identifier "ppppuVar21") (== "==") (cast_expression "(uint ****)0x3" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n                    if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }\n                  }" ({ "{") (if_statement "if (param_4[0xb4][10] != (uint **)0x0) {\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" (if "if") (parenthesized_expression "(param_4[0xb4][10] != (uint **)0x0)" (( "(") (binary_expression "param_4[0xb4][10] != (uint **)0x0" (subscript_expression "param_4[0xb4][10]" (subscript_expression "param_4[0xb4]" (identifier "param_4") ([ "[") (number_literal "0xb4") (] "]")) ([ "[") (number_literal "10") (] "]")) (!= "!=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;\n                    }" ({ "{") (expression_statement "puVar23[(int)param_4[0xb4][0xb]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][0xb]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][0xb]]" (identifier "puVar23") ([ "[") (cast_expression "(int)param_4[0xb4][0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0xb4][0xb]" (subscript_expression "param_4[0xb4]" (identifier "param_4") ([ "[") (number_literal "0xb4") (] "]")) ([ "[") (number_literal "0xb") (] "]"))) (] "]")) (= "=") (identifier "fVar31")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" (else "else") (if_statement "if (ppppuVar21 == (uint ****)0x1) {\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }\n                  else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" (if "if") (parenthesized_expression "(ppppuVar21 == (uint ****)0x1)" (( "(") (binary_expression "ppppuVar21 == (uint ****)0x1" (identifier "ppppuVar21") (== "==") (cast_expression "(uint ****)0x1" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n                    puVar23[(int)param_4[0xb4][5]] = fVar31;\n                  }" ({ "{") (expression_statement "puVar23[(int)param_4[0xb4][5]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][5]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][5]]" (identifier "puVar23") ([ "[") (cast_expression "(int)param_4[0xb4][5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0xb4][5]" (subscript_expression "param_4[0xb4]" (identifier "param_4") ([ "[") (number_literal "0xb4") (] "]")) ([ "[") (number_literal "5") (] "]"))) (] "]")) (= "=") (identifier "fVar31")) (; ";")) (} "}")) (else_clause "else {\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" (else "else") (compound_statement "{\n                    puVar23[(int)param_4[0xb4][2]] = fVar31;\n                  }" ({ "{") (expression_statement "puVar23[(int)param_4[0xb4][2]] = fVar31;" (assignment_expression "puVar23[(int)param_4[0xb4][2]] = fVar31" (subscript_expression "puVar23[(int)param_4[0xb4][2]]" (identifier "puVar23") ([ "[") (cast_expression "(int)param_4[0xb4][2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0xb4][2]" (subscript_expression "param_4[0xb4]" (identifier "param_4") ([ "[") (number_literal "0xb4") (] "]")) ([ "[") (number_literal "2") (] "]"))) (] "]")) (= "=") (identifier "fVar31")) (; ";")) (} "}")))))) (expression_statement "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;" (assignment_expression "iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4" (identifier "iVar3") (= "=") (binary_expression "iVar3 + (int)ppppuVar7[0xb0] * 4" (identifier "iVar3") (+ "+") (binary_expression "(int)ppppuVar7[0xb0] * 4" (cast_expression "(int)ppppuVar7[0xb0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[0xb0]" (identifier "ppppuVar7") ([ "[") (number_literal "0xb0") (] "]"))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "puVar23 = puVar23 + (int)param_4[0xb0];" (assignment_expression "puVar23 = puVar23 + (int)param_4[0xb0]" (identifier "puVar23") (= "=") (binary_expression "puVar23 + (int)param_4[0xb0]" (identifier "puVar23") (+ "+") (cast_expression "(int)param_4[0xb0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0xb0]" (identifier "param_4") ([ "[") (number_literal "0xb0") (] "]"))))) (; ";")) (expression_statement "iVar5 = iVar4 + 1;" (assignment_expression "iVar5 = iVar4 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 + 1 < (int)ppppuVar7[6])" (( "(") (binary_expression "iVar4 + 1 < (int)ppppuVar7[6]" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (< "<") (cast_expression "(int)ppppuVar7[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[6]" (identifier "ppppuVar7") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (labeled_statement "LAB_001c7a88:\n                iVar4 = iVar4 + 1;" (statement_identifier "LAB_001c7a88") (: ":") (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x73b8);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x73b8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcStack_168 + -0x73b8)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x73b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x73b8)" (( "(") (binary_expression "pcStack_168 + -0x73b8" (identifier "pcStack_168") (+ "+") (number_literal "-0x73b8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);" (assignment_expression "iVar5 = (*pcVar28)(uStack_15c,pppuStack_158)" (identifier "iVar5") (= "=") (call_expression "(*pcVar28)(uStack_15c,pppuStack_158)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(uStack_15c,pppuStack_158)" (( "(") (identifier "uStack_15c") (, ",") (identifier "pppuStack_158") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;" (if "if") (parenthesized_expression "((iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22))" (( "(") (binary_expression "(iVar5 == 0) ||\n                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22)" (( "(") (comma_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),\n                 (int)ppppuVar7[7] <= (int)ppppuVar22" (assignment_expression "ppppuVar22 = (uint ****)((int)ppppuVar22 + 1)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)((int)ppppuVar22 + 1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar22 + 1)" (( "(") (binary_expression "(int)ppppuVar22 + 1" (cast_expression "(int)ppppuVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar22")) (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "(int)ppppuVar7[7] <= (int)ppppuVar22" (cast_expression "(int)ppppuVar7[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar7[7]" (identifier "ppppuVar7") ([ "[") (number_literal "7") (] "]"))) (<= "<=") (cast_expression "(int)ppppuVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar22")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (expression_statement "pcVar28 = *(code **)(pcStack_168 + -0x79bc);" (assignment_expression "pcVar28 = *(code **)(pcStack_168 + -0x79bc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x79bc)" (( "(") (binary_expression "pcStack_168 + -0x79bc" (identifier "pcStack_168") (+ "+") (number_literal "-0x79bc")) () ")"))))) (; ";")) (labeled_statement "LAB_001c7ab8:\n          (*pcVar28)(uStack_15c);" (statement_identifier "LAB_001c7ab8") (: ":") (expression_statement "(*pcVar28)(uStack_15c);" (call_expression "(*pcVar28)(uStack_15c)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(uStack_15c)" (( "(") (identifier "uStack_15c") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcStack_168 + -0x79bc))(uStack_154);" (call_expression "(**(code **)(pcStack_168 + -0x79bc))(uStack_154)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x79bc))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x79bc)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x79bc)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x79bc)" (( "(") (binary_expression "pcStack_168 + -0x79bc" (identifier "pcStack_168") (+ "+") (number_literal "-0x79bc")) () ")"))))) () ")")) (argument_list "(uStack_154)" (( "(") (identifier "uStack_154") () ")"))) (; ";")) (expression_statement "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);" (assignment_expression "ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcStack_168 + -0x7440))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7440))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7440)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7440)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7440)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7440)" (( "(") (binary_expression "pcStack_168 + -0x7440" (identifier "pcStack_168") (+ "+") (number_literal "-0x7440")) () ")"))))) () ")")) (argument_list "(ppppuVar7)" (( "(") (identifier "ppppuVar7") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004))" (( "(") (binary_expression "(ppppuVar7 != (uint ****)0x0) &&\n                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" (parenthesized_expression "(ppppuVar7 != (uint ****)0x0)" (( "(") (binary_expression "ppppuVar7 != (uint ****)0x0" (identifier "ppppuVar7") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004)" (( "(") (comma_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),\n                ppppuVar21 != (uint ****)&DAT_00000004" (assignment_expression "ppppuVar21 = (uint ****)((int)ppppuVar21 + 1)" (identifier "ppppuVar21") (= "=") (cast_expression "(uint ****)((int)ppppuVar21 + 1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar21 + 1)" (( "(") (binary_expression "(int)ppppuVar21 + 1" (cast_expression "(int)ppppuVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar21")) (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "ppppuVar21 != (uint ****)&DAT_00000004" (identifier "ppppuVar21") (!= "!=") (cast_expression "(uint ****)&DAT_00000004" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004"))))) () ")"))) () ")")) (; ";")) (expression_statement "iStack_150 = iStack_150 + 4;" (assignment_expression "iStack_150 = iStack_150 + 4" (identifier "iStack_150") (= "=") (binary_expression "iStack_150 + 4" (identifier "iStack_150") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "ppppuVar13 = param_4;" (assignment_expression "ppppuVar13 = param_4" (identifier "ppppuVar13") (= "=") (identifier "param_4")) (; ";")) (expression_statement "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);" (call_expression "(**(code **)(pcStack_168 + -0x7030))(&pppuStack_148)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7030))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7030)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7030)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7030)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7030)" (( "(") (binary_expression "pcStack_168 + -0x7030" (identifier "pcStack_168") (+ "+") (number_literal "-0x7030")) () ")"))))) () ")")) (argument_list "(&pppuStack_148)" (( "(") (pointer_expression "&pppuStack_148" (& "&") (identifier "pppuStack_148")) () ")"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_168 + -0x7638))(ppppuVar7)" (parenthesized_expression "(**(code **)(pcStack_168 + -0x7638))" (( "(") (pointer_expression "**(code **)(pcStack_168 + -0x7638)" (* "*") (pointer_expression "*(code **)(pcStack_168 + -0x7638)" (* "*") (cast_expression "(code **)(pcStack_168 + -0x7638)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_168 + -0x7638)" (( "(") (binary_expression "pcStack_168 + -0x7638" (identifier "pcStack_168") (+ "+") (number_literal "-0x7638")) () ")"))))) () ")")) (argument_list "(ppppuVar7)" (( "(") (identifier "ppppuVar7") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iStack_150 < iVar5)" (( "(") (binary_expression "iStack_150 < iVar5" (identifier "iStack_150") (< "<") (identifier "iVar5")) () ")")) (; ";")) (} "}"))) (expression_statement "pppuVar6 = (uint ***)ppuStack_144;" (assignment_expression "pppuVar6 = (uint ***)ppuStack_144" (identifier "pppuVar6") (= "=") (cast_expression "(uint ***)ppuStack_144" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppuStack_144"))) (; ";")) (expression_statement "pcVar28 = pcStack_168;" (assignment_expression "pcVar28 = pcStack_168" (identifier "pcVar28") (= "=") (identifier "pcStack_168")) (; ";")) (if_statement "if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {\n      return (uint ****)pppuStack_148;\n    }" (if "if") (parenthesized_expression "((uint ***)ppuStack_144 == (uint ***)*piStack_14c)" (( "(") (binary_expression "(uint ***)ppuStack_144 == (uint ***)*piStack_14c" (cast_expression "(uint ***)ppuStack_144" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppuStack_144")) (== "==") (cast_expression "(uint ***)*piStack_14c" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*piStack_14c" (* "*") (identifier "piStack_14c")))) () ")")) (compound_statement "{\n      return (uint ****)pppuStack_148;\n    }" ({ "{") (return_statement "return (uint ****)pppuStack_148;" (return "return") (cast_expression "(uint ****)pppuStack_148" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_148")) (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar28 = *(code **)(pcVar28 + -0x784c);" (assignment_expression "pcVar28 = *(code **)(pcVar28 + -0x784c)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar28 + -0x784c)" (* "*") (cast_expression "(code **)(pcVar28 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + -0x784c)" (( "(") (binary_expression "pcVar28 + -0x784c" (identifier "pcVar28") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar26 = CropImage;" (assignment_expression "pcVar26 = CropImage" (identifier "pcVar26") (= "=") (identifier "CropImage")) (; ";")) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar24 = *(int **)(pcVar28 + 0x1e15dc);" (assignment_expression "piVar24 = *(int **)(pcVar28 + 0x1e15dc)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(pcVar28 + 0x1e15dc)" (* "*") (cast_expression "(int **)(pcVar28 + 0x1e15dc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e15dc)" (( "(") (binary_expression "pcVar28 + 0x1e15dc" (identifier "pcVar28") (+ "+") (number_literal "0x1e15dc")) () ")"))))) (; ";")) (expression_statement "iStack_1ac = *piVar24;" (assignment_expression "iStack_1ac = *piVar24" (identifier "iStack_1ac") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (expression_statement "pppuStack_1a4 = (uint ***)ppppuVar21;" (assignment_expression "pppuStack_1a4 = (uint ***)ppppuVar21" (identifier "pppuStack_1a4") (= "=") (cast_expression "(uint ***)ppppuVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar21"))) (; ";")) (expression_statement "pppuStack_1a0 = (uint ***)param_9;" (assignment_expression "pppuStack_1a0 = (uint ***)param_9" (identifier "pppuStack_1a0") (= "=") (cast_expression "(uint ***)param_9" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_9"))) (; ";")) (expression_statement "pppuStack_19c = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_19c = (uint ***)ppppuVar22" (identifier "pppuStack_19c") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (expression_statement "puStack_198 = puVar23;" (assignment_expression "puStack_198 = puVar23" (identifier "puStack_198") (= "=") (identifier "puVar23")) (; ";")) (expression_statement "iStack_194 = iVar3;" (assignment_expression "iStack_194 = iVar3" (identifier "iStack_194") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iStack_190 = iVar4;" (assignment_expression "iStack_190 = iVar4" (identifier "iStack_190") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pppuStack_18c = (uint ***)param_4;" (assignment_expression "pppuStack_18c = (uint ***)param_4" (identifier "pppuStack_18c") (= "=") (cast_expression "(uint ***)param_4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "pppuStack_188 = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_188 = (uint ***)ppppuVar7" (identifier "pppuStack_188") (= "=") (cast_expression "(uint ***)ppppuVar7" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar7"))) (; ";")) (expression_statement "pcStack_184 = pcVar26;" (assignment_expression "pcStack_184 = pcVar26" (identifier "pcStack_184") (= "=") (identifier "pcVar26")) (; ";")) (if_statement "if (pppuVar6 == (uint ***)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" (if "if") (parenthesized_expression "(pppuVar6 == (uint ***)0x0)" (( "(") (binary_expression "pppuVar6 == (uint ***)0x0" (identifier "pppuVar6") (== "==") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e19b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e19b4)" (( "(") (binary_expression "pcVar28 + 0x1e19b4" (identifier "pcVar28") (+ "+") (number_literal "0x1e19b4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x37b0" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c94)" (( "(") (binary_expression "pcVar28 + 0x1e0c94" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c94")) () ")")))) (+ "+") (number_literal "-0x37b0")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x238") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2668")) () ")"))))) (; ";")) (return_statement "return ppppuVar22;" (return "return") (identifier "ppppuVar22") (; ";")) (} "}"))) (if_statement "if (pppuVar6[0xcdb] != (uint **)0xabacadab) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" (if "if") (parenthesized_expression "(pppuVar6[0xcdb] != (uint **)0xabacadab)" (( "(") (binary_expression "pppuVar6[0xcdb] != (uint **)0xabacadab" (subscript_expression "pppuVar6[0xcdb]" (identifier "pppuVar6") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (cast_expression "(uint **)0xabacadab" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xabacadab"))) () ")")) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);\n    return ppppuVar22;\n  }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e19b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e19b4)" (( "(") (binary_expression "pcVar28 + 0x1e19b4" (identifier "pcVar28") (+ "+") (number_literal "0x1e19b4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0c94) + -0x3784,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c94) + -0x3784" (pointer_expression "*(int *)(pcVar28 + 0x1e0c94)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c94)" (( "(") (binary_expression "pcVar28 + 0x1e0c94" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c94")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x239") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2668" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2668")) () ")"))))) (; ";")) (return_statement "return ppppuVar22;" (return "return") (identifier "ppppuVar22") (; ";")) (} "}"))) (if_statement "if (pppuVar6[0xcd4] != (uint **)0x0) {\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" (if "if") (parenthesized_expression "(pppuVar6[0xcd4] != (uint **)0x0)" (( "(") (binary_expression "pppuVar6[0xcd4] != (uint **)0x0" (subscript_expression "pppuVar6[0xcd4]" (identifier "pppuVar6") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e158c))\n              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e158c))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e158c)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e158c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e158c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e158c)" (( "(") (binary_expression "pcVar28 + 0x1e158c" (identifier "pcVar28") (+ "+") (number_literal "0x1e158c")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,\n               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2674")) (, ",") (number_literal "0x23b") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c90) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c90)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c90)" (( "(") (binary_expression "pcVar28 + 0x1e0c90" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c90")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "pppuVar6 + 0xd0" (identifier "pppuVar6") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(pcVar28 + 0x1e0c98);" (assignment_expression "iVar4 = *(int *)(pcVar28 + 0x1e0c98)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")"))))) (; ";")) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" (if "if") (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar13 == (uint ****)0x0" (identifier "ppppuVar13") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e19b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e19b4)" (( "(") (binary_expression "pcVar28 + 0x1e19b4" (identifier "pcVar28") (+ "+") (number_literal "0x1e19b4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0c98) + -0x2850,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2850" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2850")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x23c") (, ",") (binary_expression "iVar4 + -0x2668" (identifier "iVar4") (+ "+") (number_literal "-0x2668")) () ")"))))) (; ";")) (return_statement "return ppppuVar22;" (return "return") (identifier "ppppuVar22") (; ";")) (} "}"))) (if_statement "if (ppppuVar15 == (uint ****)0x0) {\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" (if "if") (parenthesized_expression "(ppppuVar15 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar15 == (uint ****)0x0" (identifier "ppppuVar15") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);\n    return ppppuVar22;\n  }" ({ "{") (expression_statement "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)\n                 (**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e19b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e19b4)" (( "(") (binary_expression "pcVar28 + 0x1e19b4" (identifier "pcVar28") (+ "+") (number_literal "0x1e19b4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,\n                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (number_literal "0x23d") (, ",") (binary_expression "iVar4 + -0x2668" (identifier "iVar4") (+ "+") (number_literal "-0x2668")) () ")"))))) (; ";")) (return_statement "return ppppuVar22;" (return "return") (identifier "ppppuVar22") (; ";")) (} "}"))) (expression_statement "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);" (assignment_expression "ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98)" (identifier "ppppuVar22") (= "=") (pointer_expression "*(uint *****)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(uint *****)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")"))))) (; ";")) (if_statement "if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;" (if "if") (parenthesized_expression "(ppppuVar15[7] != (uint ***)0xabacadab)" (( "(") (binary_expression "ppppuVar15[7] != (uint ***)0xabacadab" (subscript_expression "ppppuVar15[7]" (identifier "ppppuVar15") ([ "[") (number_literal "7") (] "]")) (!= "!=") (cast_expression "(uint ***)0xabacadab" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xabacadab"))) () ")")) (goto_statement "goto LAB_001c8358;" (goto "goto") (statement_identifier "LAB_001c8358") (; ";"))) (expression_statement "ppppuVar7 = (uint ****)pppuVar6[0x8a];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[0x8a]" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)pppuVar6[0x8a]" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppuVar6[0x8a]" (identifier "pppuVar6") ([ "[") (number_literal "0x8a") (] "]")))) (; ";")) (expression_statement "pppuVar12 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[0x8b]" (identifier "pppuVar12") (= "=") (cast_expression "(uint ***)pppuVar6[0x8b]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[0x8b]" (identifier "pppuVar6") ([ "[") (number_literal "0x8b") (] "]")))) (; ";")) (expression_statement "ppuVar11 = pppuVar6[0x8c];" (assignment_expression "ppuVar11 = pppuVar6[0x8c]" (identifier "ppuVar11") (= "=") (subscript_expression "pppuVar6[0x8c]" (identifier "pppuVar6") ([ "[") (number_literal "0x8c") (] "]"))) (; ";")) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8d];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8d]" (identifier "pppuVar10") (= "=") (cast_expression "(uint ***)pppuVar6[0x8d]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[0x8d]" (identifier "pppuVar6") ([ "[") (number_literal "0x8d") (] "]")))) (; ";")) (if_statement "if (ppppuVar7 == (uint ****)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }\n  else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" (if "if") (parenthesized_expression "(ppppuVar7 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar7 == (uint ****)0x0" (identifier "ppppuVar7") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\nLAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];\n  }" ({ "{") (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)pppuVar6[6]" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppuVar6[6]" (identifier "pppuVar6") ([ "[") (number_literal "6") (] "]")))) (; ";")) (labeled_statement "LAB_001c7cf8:\n    pppuVar12 = (uint ***)pppuVar6[7];" (statement_identifier "LAB_001c7cf8") (: ":") (expression_statement "pppuVar12 = (uint ***)pppuVar6[7];" (assignment_expression "pppuVar12 = (uint ***)pppuVar6[7]" (identifier "pppuVar12") (= "=") (cast_expression "(uint ***)pppuVar6[7]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[7]" (identifier "pppuVar6") ([ "[") (number_literal "7") (] "]")))) (; ";"))) (} "}")) (else_clause "else if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" (else "else") (if_statement "if (pppuVar12 == (uint ***)0x0) {\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" (if "if") (parenthesized_expression "(pppuVar12 == (uint ***)0x0)" (( "(") (binary_expression "pppuVar12 == (uint ***)0x0" (identifier "pppuVar12") (== "==") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppuVar7 = (uint ****)pppuVar6[6];\n    goto LAB_001c7cf8;\n  }" ({ "{") (expression_statement "ppppuVar7 = (uint ****)pppuVar6[6];" (assignment_expression "ppppuVar7 = (uint ****)pppuVar6[6]" (identifier "ppppuVar7") (= "=") (cast_expression "(uint ****)pppuVar6[6]" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppuVar6[6]" (identifier "pppuVar6") ([ "[") (number_literal "6") (] "]")))) (; ";")) (goto_statement "goto LAB_001c7cf8;" (goto "goto") (statement_identifier "LAB_001c7cf8") (; ";")) (} "}"))))) (expression_statement "ppuStack_1d4 = (uint **)ppppuVar13[2];" (assignment_expression "ppuStack_1d4 = (uint **)ppppuVar13[2]" (identifier "ppuStack_1d4") (= "=") (cast_expression "(uint **)ppppuVar13[2]" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppppuVar13[2]" (identifier "ppppuVar13") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppuVar18 = ppppuVar13[3];" (assignment_expression "pppuVar18 = ppppuVar13[3]" (identifier "pppuVar18") (= "=") (subscript_expression "ppppuVar13[3]" (identifier "ppppuVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pppuStack_1dc = *ppppuVar13;" (assignment_expression "pppuStack_1dc = *ppppuVar13" (identifier "pppuStack_1dc") (= "=") (pointer_expression "*ppppuVar13" (* "*") (identifier "ppppuVar13"))) (; ";")) (if_statement "if ((uint ****)*ppppuVar13 == (uint ****)0x0) {\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" (if "if") (parenthesized_expression "((uint ****)*ppppuVar13 == (uint ****)0x0)" (( "(") (binary_expression "(uint ****)*ppppuVar13 == (uint ****)0x0" (cast_expression "(uint ****)*ppppuVar13" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*ppppuVar13" (* "*") (identifier "ppppuVar13"))) (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppuStack_1dc = (uint ***)ppppuVar7;\n  }" ({ "{") (expression_statement "pppuStack_1dc = (uint ***)ppppuVar7;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar7" (identifier "pppuStack_1dc") (= "=") (cast_expression "(uint ***)ppppuVar7" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar7"))) (; ";")) (} "}"))) (expression_statement "ppuStack_1d8 = (uint **)ppppuVar13[1];" (assignment_expression "ppuStack_1d8 = (uint **)ppppuVar13[1]" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)ppppuVar13[1]" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppppuVar13[1]" (identifier "ppppuVar13") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (ppppuVar13[1] == (uint ***)0x0) {\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" (if "if") (parenthesized_expression "(ppppuVar13[1] == (uint ***)0x0)" (( "(") (binary_expression "ppppuVar13[1] == (uint ***)0x0" (subscript_expression "ppppuVar13[1]" (identifier "ppppuVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppuStack_1d8 = (uint **)pppuVar12;\n  }" ({ "{") (expression_statement "ppuStack_1d8 = (uint **)pppuVar12;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar12" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)pppuVar12" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar12"))) (; ";")) (} "}"))) (if_statement "if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }\n  else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc)" (( "(") (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc" (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (- "-") (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4"))) (< "<") (cast_expression "(int)pppuStack_1dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuStack_1dc"))) () ")")) (compound_statement "{\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);\n    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;\n    ppuVar19 = pppuVar6[6];\n    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);\n    if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;\n    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }\n    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }\n    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }\n    ppppuVar22 = (uint ****)*ppppuVar13;\n    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }\n    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }\n    pppuVar10 = ppppuVar13[1];\n    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);\n    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }\n    ppuStack_1d8 = (uint **)pppuVar10;\n    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;\n    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);\nLAB_001c7f40:\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)pppuStack_1dc;\n    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;\n    pppuVar10 = (uint ***)pppuVar6[0x8b];\n    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];\n    ppppuVar13[0x8b] = pppuVar10;\n    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }\n    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);\n    ppppuVar13[0x8c] = pppuVar14;\n    uStack_1e4 = 0;\n    ppppuVar13[0x8d] = pppuVar18;\n    uStack_1e8 = 0;\n    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);\n    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);\n    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);\n    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }\nLAB_001c8038:\n    puStack_1b8 = &uStack_1e8;\n    iVar4 = 0;\n    pppuStack_1b4 = (uint ***)&pppuStack_1dc;\n    ppppuVar22 = (uint ****)&ppuStack_1cc;\n    iStack_1b0 = 1;\n    ppuStack_1cc = (uint **)pppuVar6;\n    pppuStack_1c8 = (uint ***)ppppuVar15;\n    uStack_1c4 = uVar9;\n    uStack_1c0 = uVar8;\n    pppuStack_1bc = (uint ***)ppppuVar13;\n    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);\n    iVar5 = iStack_1b0;\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);\n    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);\n    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];\n    if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }\n  }" ({ "{") (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" (identifier "pppuVar14") (= "=") (cast_expression "(uint ***)((int)ppuStack_1d4 - (int)ppuVar11)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuStack_1d4 - (int)ppuVar11)" (( "(") (binary_expression "(int)ppuStack_1d4 - (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4")) (- "-") (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11"))) () ")")))) (; ";")) (if_statement "if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;" (if "if") (parenthesized_expression "((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18)" (( "(") (binary_expression "(int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)ppuStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d8")) (<= "<=") (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (- "-") (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")))) () ")")) (goto_statement "goto LAB_001c7d60;" (goto "goto") (statement_identifier "LAB_001c7d60") (; ";"))) (expression_statement "ppuVar19 = pppuVar6[6];" (assignment_expression "ppuVar19 = pppuVar6[6]" (identifier "ppuVar19") (= "=") (subscript_expression "pppuVar6[6]" (identifier "pppuVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);" (assignment_expression "ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10)" (identifier "ppuStack_1d0") (= "=") (cast_expression "(uint **)((int)pppuVar18 - (int)pppuVar10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar18 - (int)pppuVar10)" (( "(") (binary_expression "(int)pppuVar18 - (int)pppuVar10" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (- "-") (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10"))) () ")")))) (; ";")) (if_statement "if (((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;" (if "if") (parenthesized_expression "(((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0))" (( "(") (binary_expression "((int)ppuVar19 < (int)pppuVar14) ||\n       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" (parenthesized_expression "((int)ppuVar19 < (int)pppuVar14)" (( "(") (binary_expression "(int)ppuVar19 < (int)pppuVar14" (cast_expression "(int)ppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar19")) (< "<") (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14"))) () ")")) (|| "||") (parenthesized_expression "(ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)" (( "(") (comma_expression "ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0" (assignment_expression "ppuVar20 = pppuVar6[7]" (identifier "ppuVar20") (= "=") (subscript_expression "pppuVar6[7]" (identifier "pppuVar6") ([ "[") (number_literal "7") (] "]"))) (, ",") (binary_expression "(int)ppuVar20 < (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar20")) (< "<") (cast_expression "(int)ppuStack_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d0")))) () ")"))) () ")")) (goto_statement "goto LAB_001c7d60;" (goto "goto") (statement_identifier "LAB_001c7d60") (; ";"))) (if_statement "if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }\n    else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" (if "if") (parenthesized_expression "(((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11))" (( "(") (binary_expression "((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)" (parenthesized_expression "((int)ppuStack_1d4 < 0)" (( "(") (binary_expression "(int)ppuStack_1d4 < 0" (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4")) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)ppuVar11)" (( "(") (binary_expression "-1 < (int)ppuVar11" (number_literal "-1") (< "<") (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11"))) () ")"))) () ")")) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);\n      ppuStack_1d4 = (uint **)0x0;\n    }" ({ "{") (expression_statement "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" (identifier "pppuStack_1dc") (= "=") (cast_expression "(uint ***)((int)pppuVar14 + (int)pppuStack_1dc)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuVar14 + (int)pppuStack_1dc)" (( "(") (binary_expression "(int)pppuVar14 + (int)pppuStack_1dc" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (+ "+") (cast_expression "(int)pppuStack_1dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuStack_1dc"))) () ")")))) (; ";")) (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" (identifier "ppuStack_1d4") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" (else "else") (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));\n      ppuStack_1d4 = (uint **)pppuVar14;\n      if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }\n    }" ({ "{") (expression_statement "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));" (assignment_expression "pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" (identifier "pppuStack_1dc") (= "=") (cast_expression "(uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4))" (( "(") (binary_expression "(int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4)" (cast_expression "(int)pppuStack_1dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuStack_1dc")) (- "-") (parenthesized_expression "((int)ppuVar11 - (int)ppuStack_1d4)" (( "(") (binary_expression "(int)ppuVar11 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (- "-") (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4"))) () ")"))) () ")")))) (; ";")) (expression_statement "ppuStack_1d4 = (uint **)pppuVar14;" (assignment_expression "ppuStack_1d4 = (uint **)pppuVar14" (identifier "ppuStack_1d4") (= "=") (cast_expression "(uint **)pppuVar14" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar14"))) (; ";")) (if_statement "if ((int)pppuVar14 < 0) {\n        ppuStack_1d4 = (uint **)0x0;\n      }" (if "if") (parenthesized_expression "((int)pppuVar14 < 0)" (( "(") (binary_expression "(int)pppuVar14 < 0" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        ppuStack_1d4 = (uint **)0x0;\n      }" ({ "{") (expression_statement "ppuStack_1d4 = (uint **)0x0;" (assignment_expression "ppuStack_1d4 = (uint **)0x0" (identifier "ppuStack_1d4") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }\n    else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" (if "if") (parenthesized_expression "(((int)pppuVar18 < 0) && (-1 < (int)pppuVar10))" (( "(") (binary_expression "((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)" (parenthesized_expression "((int)pppuVar18 < 0)" (( "(") (binary_expression "(int)pppuVar18 < 0" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)pppuVar10)" (( "(") (binary_expression "-1 < (int)pppuVar10" (number_literal "-1") (< "<") (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10"))) () ")"))) () ")")) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);\n      ppuStack_1d0 = (uint **)0x0;\n      pppuVar18 = pppuVar10;\n    }" ({ "{") (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuStack_1d0 + (int)ppuStack_1d8)" (( "(") (binary_expression "(int)ppuStack_1d0 + (int)ppuStack_1d8" (cast_expression "(int)ppuStack_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d0")) (+ "+") (cast_expression "(int)ppuStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d8"))) () ")")))) (; ";")) (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" (identifier "ppuStack_1d0") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" (identifier "pppuVar18") (= "=") (identifier "pppuVar10")) (; ";")) (} "}")) (else_clause "else {\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" (else "else") (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));\n      if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }\n    }" ({ "{") (expression_statement "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18))" (( "(") (binary_expression "(int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18)" (cast_expression "(int)ppuStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d8")) (- "-") (parenthesized_expression "((int)pppuVar10 - (int)pppuVar18)" (( "(") (binary_expression "(int)pppuVar10 - (int)pppuVar18" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (- "-") (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18"))) () ")"))) () ")")))) (; ";")) (if_statement "if ((int)ppuStack_1d0 < 0) {\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" (if "if") (parenthesized_expression "((int)ppuStack_1d0 < 0)" (( "(") (binary_expression "(int)ppuStack_1d0 < 0" (cast_expression "(int)ppuStack_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d0")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        ppuStack_1d0 = (uint **)0x0;\n        pppuVar18 = pppuVar10;\n      }" ({ "{") (expression_statement "ppuStack_1d0 = (uint **)0x0;" (assignment_expression "ppuStack_1d0 = (uint **)0x0" (identifier "ppuStack_1d0") (= "=") (cast_expression "(uint **)0x0" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppuVar18 = pppuVar10;" (assignment_expression "pppuVar18 = pppuVar10" (identifier "pppuVar18") (= "=") (identifier "pppuVar10")) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" (if "if") (parenthesized_expression "((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4))" (( "(") (binary_expression "(int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)" (cast_expression "(int)ppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar19")) (< "<") (cast_expression "(int)((int)pppuStack_1dc + (int)ppuStack_1d4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppuStack_1dc + (int)ppuStack_1d4)" (( "(") (binary_expression "(int)pppuStack_1dc + (int)ppuStack_1d4" (cast_expression "(int)pppuStack_1dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuStack_1dc")) (+ "+") (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4"))) () ")")))) () ")")) (compound_statement "{\n      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);\n    }" ({ "{") (expression_statement "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);" (assignment_expression "pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" (identifier "pppuStack_1dc") (= "=") (cast_expression "(uint ***)((int)ppuVar19 - (int)ppuStack_1d4)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar19 - (int)ppuStack_1d4)" (( "(") (binary_expression "(int)ppuVar19 - (int)ppuStack_1d4" (cast_expression "(int)ppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar19")) (- "-") (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4"))) () ")")))) (; ";")) (} "}"))) (expression_statement "ppppuVar22 = (uint ****)*ppppuVar13;" (assignment_expression "ppppuVar22 = (uint ****)*ppppuVar13" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)*ppppuVar13" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*ppppuVar13" (* "*") (identifier "ppppuVar13")))) (; ";")) (if_statement "if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" (if "if") (parenthesized_expression "((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc))" (( "(") (binary_expression "(ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)" (parenthesized_expression "(ppppuVar22 != (uint ****)0x0)" (( "(") (binary_expression "ppppuVar22 != (uint ****)0x0" (identifier "ppppuVar22") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(ppppuVar22 < pppuStack_1dc)" (( "(") (binary_expression "ppppuVar22 < pppuStack_1dc" (identifier "ppppuVar22") (< "<") (identifier "pppuStack_1dc")) () ")"))) () ")")) (compound_statement "{\n      pppuStack_1dc = (uint ***)ppppuVar22;\n    }" ({ "{") (expression_statement "pppuStack_1dc = (uint ***)ppppuVar22;" (assignment_expression "pppuStack_1dc = (uint ***)ppppuVar22" (identifier "pppuStack_1dc") (= "=") (cast_expression "(uint ***)ppppuVar22" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar22"))) (; ";")) (} "}"))) (if_statement "if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" (if "if") (parenthesized_expression "((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0)" (( "(") (binary_expression "(int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar20")) (< "<") (binary_expression "(int)ppuStack_1d8 + (int)ppuStack_1d0" (cast_expression "(int)ppuStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d8")) (+ "+") (cast_expression "(int)ppuStack_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d0")))) () ")")) (compound_statement "{\n      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);\n    }" ({ "{") (expression_statement "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);" (assignment_expression "ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0)" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)((int)ppuVar20 - (int)ppuStack_1d0)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar20 - (int)ppuStack_1d0)" (( "(") (binary_expression "(int)ppuVar20 - (int)ppuStack_1d0" (cast_expression "(int)ppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar20")) (- "-") (cast_expression "(int)ppuStack_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d0"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pppuVar10 = ppppuVar13[1];" (assignment_expression "pppuVar10 = ppppuVar13[1]" (identifier "pppuVar10") (= "=") (subscript_expression "ppppuVar13[1]" (identifier "ppppuVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);" (assignment_expression "pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" (identifier "pppuVar14") (= "=") (cast_expression "(uint ***)((int)ppuStack_1d4 + (int)ppuVar11)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuStack_1d4 + (int)ppuVar11)" (( "(") (binary_expression "(int)ppuStack_1d4 + (int)ppuVar11" (cast_expression "(int)ppuStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_1d4")) (+ "+") (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11"))) () ")")))) (; ";")) (if_statement "if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" (if "if") (parenthesized_expression "((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10))" (( "(") (binary_expression "(pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)" (parenthesized_expression "(pppuVar10 == (uint ***)0x0)" (( "(") (binary_expression "pppuVar10 == (uint ***)0x0" (identifier "pppuVar10") (== "==") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(ppuStack_1d8 <= pppuVar10)" (( "(") (binary_expression "ppuStack_1d8 <= pppuVar10" (identifier "ppuStack_1d8") (<= "<=") (identifier "pppuVar10")) () ")"))) () ")")) (compound_statement "{\n      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;\nLAB_001c8110:\n      iVar4 = 0x285;\n      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);\n      (**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);\n      goto LAB_001c815c;\n    }" ({ "{") (if_statement "if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))\n      goto LAB_001c7f40;" (if "if") (parenthesized_expression "(((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))" (( "(") (binary_expression "((uint ****)pppuStack_1dc != (uint ****)0x0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" (parenthesized_expression "((uint ****)pppuStack_1dc != (uint ****)0x0)" (( "(") (binary_expression "(uint ****)pppuStack_1dc != (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_1dc")) (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0)" (( "(") (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1bdc)" (( "(") (binary_expression "pcVar28 + 0x1e1bdc" (identifier "pcVar28") (+ "+") (number_literal "0x1e1bdc")) () ")"))))) (, ",") (binary_expression "(uint ***)ppuStack_1d8 != (uint ***)0x0" (cast_expression "(uint ***)ppuStack_1d8" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppuStack_1d8")) (!= "!=") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_001c7f40;" (goto "goto") (statement_identifier "LAB_001c7f40") (; ";"))) (labeled_statement "LAB_001c8110:\n      iVar4 = 0x285;" (statement_identifier "LAB_001c8110") (: ":") (expression_statement "iVar4 = 0x285;" (assignment_expression "iVar4 = 0x285" (identifier "iVar4") (= "=") (number_literal "0x285")) (; ";"))) (expression_statement "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);" (assignment_expression "ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + 0x1e0c98) + -0x288c)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e12cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e12cc)" (( "(") (binary_expression "pcVar28 + 0x1e12cc" (identifier "pcVar28") (+ "+") (number_literal "0x1e12cc")) () ")"))))) () ")")) (argument_list "(ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,\n                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n                 pppuVar6 + 0xd0)" (( "(") (identifier "ppppuVar15") (, ",") (identifier "ppppuVar22") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2674")) (, ",") (number_literal "0x285") (, ",") (number_literal "0x136") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x16bc")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "pppuVar6 + 0xd0" (identifier "pppuVar6") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (goto_statement "goto LAB_001c815c;" (goto "goto") (statement_identifier "LAB_001c815c") (; ";")) (} "}"))) (expression_statement "ppuStack_1d8 = (uint **)pppuVar10;" (assignment_expression "ppuStack_1d8 = (uint **)pppuVar10" (identifier "ppuStack_1d8") (= "=") (cast_expression "(uint **)pppuVar10" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar10"))) (; ";")) (if_statement "if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;" (if "if") (parenthesized_expression "((uint ****)pppuStack_1dc == (uint ****)0x0)" (( "(") (binary_expression "(uint ****)pppuStack_1dc == (uint ****)0x0" (cast_expression "(uint ****)pppuStack_1dc" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_1dc")) (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c8110;" (goto "goto") (statement_identifier "LAB_001c8110") (; ";"))) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1bdc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1bdc)" (( "(") (binary_expression "pcVar28 + 0x1e1bdc" (identifier "pcVar28") (+ "+") (number_literal "0x1e1bdc")) () ")"))))) (; ";")) (labeled_statement "LAB_001c7f40:\n    iVar4 = 1;" (statement_identifier "LAB_001c7f40") (: ":") (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";"))) (expression_statement "ppppuVar22 = (uint ****)pppuStack_1dc;" (assignment_expression "ppppuVar22 = (uint ****)pppuStack_1dc" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)pppuStack_1dc" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_1dc"))) (; ";")) (expression_statement "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15)" (( "(") (identifier "pppuVar6") (, ",") (identifier "pppuStack_1dc") (, ",") (identifier "ppuStack_1d8") (, ",") (number_literal "1") (, ",") (identifier "ppppuVar15") () ")"))))) (; ";")) (if_statement "if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;" (if "if") (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar13 == (uint ****)0x0" (identifier "ppppuVar13") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001c815c;" (goto "goto") (statement_identifier "LAB_001c815c") (; ";"))) (expression_statement "pppuVar10 = (uint ***)pppuVar6[0x8b];" (assignment_expression "pppuVar10 = (uint ***)pppuVar6[0x8b]" (identifier "pppuVar10") (= "=") (cast_expression "(uint ***)pppuVar6[0x8b]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[0x8b]" (identifier "pppuVar6") ([ "[") (number_literal "0x8b") (] "]")))) (; ";")) (expression_statement "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];" (assignment_expression "ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a]" (subscript_expression "ppppuVar13[0x8a]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8a") (] "]")) (= "=") (cast_expression "(uint ***)pppuVar6[0x8a]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[0x8a]" (identifier "pppuVar6") ([ "[") (number_literal "0x8a") (] "]")))) (; ";")) (expression_statement "ppppuVar13[0x8b] = pppuVar10;" (assignment_expression "ppppuVar13[0x8b] = pppuVar10" (subscript_expression "ppppuVar13[0x8b]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8b") (] "]")) (= "=") (identifier "pppuVar10")) (; ";")) (if_statement "if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" (if "if") (parenthesized_expression "(((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12))" (( "(") (binary_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||\n       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" (parenthesized_expression "((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7))" (( "(") (binary_expression "(int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)" (cast_expression "(int)pppuVar6[0x8a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppuVar6[0x8a]" (identifier "pppuVar6") ([ "[") (number_literal "0x8a") (] "]"))) (< "<") (cast_expression "(int)((int)pppuVar14 + (int)ppppuVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppuVar14 + (int)ppppuVar7)" (( "(") (binary_expression "(int)pppuVar14 + (int)ppppuVar7" (cast_expression "(int)pppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar14")) (+ "+") (cast_expression "(int)ppppuVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar7"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)" (( "(") (binary_expression "(int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar6[0x8b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppuVar6[0x8b]" (identifier "pppuVar6") ([ "[") (number_literal "0x8b") (] "]"))) (< "<") (binary_expression "(int)pppuVar18 + (int)pppuVar12" (cast_expression "(int)pppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar18")) (+ "+") (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")))) () ")"))) () ")")) (compound_statement "{\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n    }" ({ "{") (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8a") (] "]")) (= "=") (cast_expression "(uint ***)ppppuVar7" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar7"))) (; ";")) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8b") (] "]")) (= "=") (identifier "pppuVar12")) (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e1b00);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e1b00)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e1b00)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1b00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1b00)" (( "(") (binary_expression "pcVar28 + 0x1e1b00" (identifier "pcVar28") (+ "+") (number_literal "0x1e1b00")) () ")"))))) (; ";")) (expression_statement "ppppuVar13[0x8c] = pppuVar14;" (assignment_expression "ppppuVar13[0x8c] = pppuVar14" (subscript_expression "ppppuVar13[0x8c]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8c") (] "]")) (= "=") (identifier "pppuVar14")) (; ";")) (expression_statement "uStack_1e4 = 0;" (assignment_expression "uStack_1e4 = 0" (identifier "uStack_1e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppuVar13[0x8d] = pppuVar18;" (assignment_expression "ppppuVar13[0x8d] = pppuVar18" (subscript_expression "ppppuVar13[0x8d]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8d") (] "]")) (= "=") (identifier "pppuVar18")) (; ";")) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" (identifier "uStack_1e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);" (assignment_expression "uVar8 = (*pcVar26)(pppuVar6,ppppuVar15)" (identifier "uVar8") (= "=") (call_expression "(*pcVar26)(pppuVar6,ppppuVar15)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(pppuVar6,ppppuVar15)" (( "(") (identifier "pppuVar6") (, ",") (identifier "ppppuVar15") () ")")))) (; ";")) (expression_statement "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);" (assignment_expression "uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1280))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1280)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1280)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1280)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1280)" (( "(") (binary_expression "pcVar28 + 0x1e1280" (identifier "pcVar28") (+ "+") (number_literal "0x1e1280")) () ")"))))) () ")")) (argument_list "(ppppuVar13,ppppuVar15)" (( "(") (identifier "ppppuVar13") (, ",") (identifier "ppppuVar15") () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1860)" (( "(") (binary_expression "pcVar28 + 0x1e1860" (identifier "pcVar28") (+ "+") (number_literal "0x1e1860")) () ")"))))) () ")")) (argument_list "(pppuVar6)" (( "(") (identifier "pppuVar6") () ")")))) (; ";")) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }\n    else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" (if "if") (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))))" (( "(") (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&\n       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3))" (( "(") (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" (( "(") (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e1860))(pppuVar6)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1860)" (( "(") (binary_expression "pcVar28 + 0x1e1860" (identifier "pcVar28") (+ "+") (number_literal "0x1e1860")) () ")"))))) () ")")) (argument_list "(pppuVar6)" (( "(") (identifier "pppuVar6") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))" (( "(") (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3))" (( "(") (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1860)" (( "(") (binary_expression "pcVar28 + 0x1e1860" (identifier "pcVar28") (+ "+") (number_literal "0x1e1860")) () ")"))))) () ")")) (argument_list "(ppppuVar13)" (( "(") (identifier "ppppuVar13") () ")")))) (, ",") (binary_expression "iVar4 == 4 ||\n        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e1860))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1860))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1860)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1860)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1860)" (( "(") (binary_expression "pcVar28 + 0x1e1860" (identifier "pcVar28") (+ "+") (number_literal "0x1e1860")) () ")"))))) () ")")) (argument_list "(ppppuVar13)" (( "(") (identifier "ppppuVar13") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1e14e8))(7);\n      pppuVar10 = ppppuVar13[7];\n      pppuVar12 = pppuVar10;\n      if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }\n      if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }\n      iVar5 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }\n    }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "pppuVar10 = ppppuVar13[7];" (assignment_expression "pppuVar10 = ppppuVar13[7]" (identifier "pppuVar10") (= "=") (subscript_expression "ppppuVar13[7]" (identifier "ppppuVar13") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pppuVar12 = pppuVar10;" (assignment_expression "pppuVar12 = pppuVar10" (identifier "pppuVar12") (= "=") (identifier "pppuVar10")) (; ";")) (if_statement "if ((int)pppuVar10 < 0) {\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" (if "if") (parenthesized_expression "((int)pppuVar10 < 0)" (( "(") (binary_expression "(int)pppuVar10 < 0" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);\n      }" ({ "{") (expression_statement "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f)" (identifier "pppuVar12") (= "=") (cast_expression "(uint ***)((int)pppuVar10 + 0x3f)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuVar10 + 0x3f)" (( "(") (binary_expression "(int)pppuVar10 + 0x3f" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (+ "+") (number_literal "0x3f")) () ")")))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_13 < (int)pppuVar12 >> 6) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }\n      else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" (if "if") (parenthesized_expression "(extraout_v1_13 < (int)pppuVar12 >> 6)" (( "(") (binary_expression "extraout_v1_13 < (int)pppuVar12 >> 6" (identifier "extraout_v1_13") (< "<") (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")) (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        bVar1 = extraout_v1_15 < 2;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_15 < 2;" (assignment_expression "bVar1 = extraout_v1_15 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_15 < 2" (identifier "extraout_v1_15") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" (else "else") (compound_statement "{\n        bVar1 = (int)pppuVar10 < 0x80;\n      }" ({ "{") (expression_statement "bVar1 = (int)pppuVar10 < 0x80;" (assignment_expression "bVar1 = (int)pppuVar10 < 0x80" (identifier "bVar1") (= "=") (binary_expression "(int)pppuVar10 < 0x80" (cast_expression "(int)pppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar10")) (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar28 + 0x1e14e8))(7);\n        pppuVar12 = ppppuVar13[7];\n        if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }\n        iVar5 = (int)pppuVar12 >> 6;\n        if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x1e14e8))(7);" (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "pppuVar12 = ppppuVar13[7];" (assignment_expression "pppuVar12 = ppppuVar13[7]" (identifier "pppuVar12") (= "=") (subscript_expression "ppppuVar13[7]" (identifier "ppppuVar13") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if ((int)pppuVar12 < 0) {\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" (if "if") (parenthesized_expression "((int)pppuVar12 < 0)" (( "(") (binary_expression "(int)pppuVar12 < 0" (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);\n        }" ({ "{") (expression_statement "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);" (assignment_expression "pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f)" (identifier "pppuVar12") (= "=") (cast_expression "(uint ***)((int)pppuVar12 + 0x3f)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuVar12 + 0x3f)" (( "(") (binary_expression "(int)pppuVar12 + 0x3f" (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")) (+ "+") (number_literal "0x3f")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar5 = (int)pppuVar12 >> 6;" (assignment_expression "iVar5 = (int)pppuVar12 >> 6" (identifier "iVar5") (= "=") (binary_expression "(int)pppuVar12 >> 6" (cast_expression "(int)pppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar12")) (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_14 < iVar5) {\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" (if "if") (parenthesized_expression "(extraout_v1_14 < iVar5)" (( "(") (binary_expression "extraout_v1_14 < iVar5" (identifier "extraout_v1_14") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          goto LAB_001c8184;\n        }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) (; ";")) (goto_statement "goto LAB_001c8184;" (goto "goto") (statement_identifier "LAB_001c8184") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" (else "else") (compound_statement "{\n      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);\n      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }\n      uVar33 = (*pcVar26)(7);\n      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }\n    }" ({ "{") (expression_statement "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);" (assignment_expression "uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7)" (identifier "uVar33") (= "=") (call_expression "(**(code **)(pcVar28 + 0x1e14e8))(7)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e14e8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e14e8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) == 0) {\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }\n      else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n        if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar33 < 2) {\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" (if "if") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          uVar33 = (*pcVar26)(7);\n          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;\n          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n          if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }\n        }" ({ "{") (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c801c;" (goto "goto") (statement_identifier "LAB_001c801c") (; ";"))) (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar33 < 2) {\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" (if "if") (parenthesized_expression "((uint)uVar33 < 2)" (( "(") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            iVar5 = 1;\n            goto LAB_001c8038;\n          }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001c8038;" (goto "goto") (statement_identifier "LAB_001c8038") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" (else "else") (compound_statement "{\nLAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);\n      }" ({ "{") (labeled_statement "LAB_001c801c:\n        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (statement_identifier "LAB_001c801c") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e14e8);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar33 = (*pcVar26)(7);" (assignment_expression "uVar33 = (*pcVar26)(7)" (identifier "uVar33") (= "=") (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }\n      else {\n        iVar5 = 2;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar33 >> 0x20) == 0) &&\n         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)" (( "(") (comma_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e14e8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e14e8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e14e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e14e8)" (( "(") (binary_expression "pcVar28 + 0x1e14e8" (identifier "pcVar28") (+ "+") (number_literal "0x1e14e8")) () ")"))))) (, ",") (binary_expression "(uint)uVar33 < 2" (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_001c8184:\n        (*pcVar26)(7);\n        iVar5 = extraout_v1_12;\n      }" ({ "{") (labeled_statement "LAB_001c8184:\n        (*pcVar26)(7);" (statement_identifier "LAB_001c8184") (: ":") (expression_statement "(*pcVar26)(7);" (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar5 = extraout_v1_12;" (assignment_expression "iVar5 = extraout_v1_12" (identifier "iVar5") (= "=") (identifier "extraout_v1_12")) (; ";")) (} "}")) (else_clause "else {\n        iVar5 = 2;\n      }" (else "else") (compound_statement "{\n        iVar5 = 2;\n      }" ({ "{") (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" (identifier "iVar5") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_001c8038:\n    puStack_1b8 = &uStack_1e8;" (statement_identifier "LAB_001c8038") (: ":") (expression_statement "puStack_1b8 = &uStack_1e8;" (assignment_expression "puStack_1b8 = &uStack_1e8" (identifier "puStack_1b8") (= "=") (pointer_expression "&uStack_1e8" (& "&") (identifier "uStack_1e8"))) (; ";"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppuStack_1b4 = (uint ***)&pppuStack_1dc;" (assignment_expression "pppuStack_1b4 = (uint ***)&pppuStack_1dc" (identifier "pppuStack_1b4") (= "=") (cast_expression "(uint ***)&pppuStack_1dc" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&pppuStack_1dc" (& "&") (identifier "pppuStack_1dc")))) (; ";")) (expression_statement "ppppuVar22 = (uint ****)&ppuStack_1cc;" (assignment_expression "ppppuVar22 = (uint ****)&ppuStack_1cc" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)&ppuStack_1cc" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&ppuStack_1cc" (& "&") (identifier "ppuStack_1cc")))) (; ";")) (expression_statement "iStack_1b0 = 1;" (assignment_expression "iStack_1b0 = 1" (identifier "iStack_1b0") (= "=") (number_literal "1")) (; ";")) (expression_statement "ppuStack_1cc = (uint **)pppuVar6;" (assignment_expression "ppuStack_1cc = (uint **)pppuVar6" (identifier "ppuStack_1cc") (= "=") (cast_expression "(uint **)pppuVar6" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar6"))) (; ";")) (expression_statement "pppuStack_1c8 = (uint ***)ppppuVar15;" (assignment_expression "pppuStack_1c8 = (uint ***)ppppuVar15" (identifier "pppuStack_1c8") (= "=") (cast_expression "(uint ***)ppppuVar15" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar15"))) (; ";")) (expression_statement "uStack_1c4 = uVar9;" (assignment_expression "uStack_1c4 = uVar9" (identifier "uStack_1c4") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uStack_1c0 = uVar8;" (assignment_expression "uStack_1c0 = uVar8" (identifier "uStack_1c0") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "pppuStack_1bc = (uint ***)ppppuVar13;" (assignment_expression "pppuStack_1bc = (uint ***)ppppuVar13" (identifier "pppuStack_1bc") (= "=") (cast_expression "(uint ***)ppppuVar13" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar13"))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);" (call_expression "(**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1544))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1544)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1544)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1544)" (( "(") (binary_expression "pcVar28 + 0x1e1544" (identifier "pcVar28") (+ "+") (number_literal "0x1e1544")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0d4c) + 0x5198" (pointer_expression "*(int *)(pcVar28 + 0x1e0d4c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0d4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0d4c)" (( "(") (binary_expression "pcVar28 + 0x1e0d4c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0d4c")) () ")")))) (+ "+") (number_literal "0x5198")) (, ",") (identifier "ppppuVar22") (, ",") (identifier "iVar5") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = iStack_1b0;" (assignment_expression "iVar5 = iStack_1b0" (identifier "iVar5") (= "=") (identifier "iStack_1b0")) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar9);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar9)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e12a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e12a0)" (( "(") (binary_expression "pcVar28 + 0x1e12a0" (identifier "pcVar28") (+ "+") (number_literal "0x1e12a0")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar28 + 0x1e12a0))(uVar8);" (call_expression "(**(code **)(pcVar28 + 0x1e12a0))(uVar8)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12a0))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e12a0)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e12a0)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e12a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e12a0)" (( "(") (binary_expression "pcVar28 + 0x1e12a0" (identifier "pcVar28") (+ "+") (number_literal "0x1e12a0")) () ")"))))) () ")")) (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];" (assignment_expression "ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8]" (subscript_expression "ppppuVar13[0xa8]" (identifier "ppppuVar13") ([ "[") (number_literal "0xa8") (] "]")) (= "=") (cast_expression "(uint ***)pppuVar6[0xa8]" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppuVar6[0xa8]" (identifier "pppuVar6") ([ "[") (number_literal "0xa8") (] "]")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);\n    }" ({ "{") (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12f8))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e12f8)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e12f8)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e12f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e12f8)" (( "(") (binary_expression "pcVar28 + 0x1e12f8" (identifier "pcVar28") (+ "+") (number_literal "0x1e12f8")) () ")"))))) () ")")) (argument_list "(ppppuVar13)" (( "(") (identifier "ppppuVar13") () ")"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" (else "else") (compound_statement "{\nLAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;\n    (**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);\n    iVar4 = 1;\n    ppppuVar22 = (uint ****)0x1;\n    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);\n    if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_001c7d60:\n    ppuStack_1d0 = (uint **)pppuVar18;" (statement_identifier "LAB_001c7d60") (: ":") (expression_statement "ppuStack_1d0 = (uint **)pppuVar18;" (assignment_expression "ppuStack_1d0 = (uint **)pppuVar18" (identifier "ppuStack_1d0") (= "=") (cast_expression "(uint **)pppuVar18" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppuVar18"))) (; ";"))) (expression_statement "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0);" (call_expression "(**(code **)(pcVar28 + 0x1e12cc))\n              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e12cc))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e12cc)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e12cc)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e12cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e12cc)" (( "(") (binary_expression "pcVar28 + 0x1e12cc" (identifier "pcVar28") (+ "+") (number_literal "0x1e12cc")) () ")"))))) () ")")) (argument_list "(ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,\n               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,\n               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,\n               pppuVar6 + 0xd0)" (( "(") (identifier "ppppuVar15") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x288c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x288c")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c98) + -0x2674" (pointer_expression "*(int *)(pcVar28 + 0x1e0c98)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c98)" (( "(") (binary_expression "pcVar28 + 0x1e0c98" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c98")) () ")")))) (+ "+") (number_literal "-0x2674")) (, ",") (number_literal "0x252") (, ",") (number_literal "0x136") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x16bc" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x16bc")) (, ",") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "pppuVar6 + 0xd0" (identifier "pppuVar6") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppuVar22 = (uint ****)0x1;" (assignment_expression "ppppuVar22 = (uint ****)0x1" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)0x1" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);" (assignment_expression "ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1bdc))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1bdc)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1bdc)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1bdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1bdc)" (( "(") (binary_expression "pcVar28 + 0x1e1bdc" (identifier "pcVar28") (+ "+") (number_literal "0x1e1bdc")) () ")"))))) () ")")) (argument_list "(pppuVar6,1,1,1,ppppuVar15)" (( "(") (identifier "pppuVar6") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (identifier "ppppuVar15") () ")"))))) (; ";")) (if_statement "if (ppppuVar13 == (uint ****)0x0) {\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }\n    else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" (if "if") (parenthesized_expression "(ppppuVar13 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar13 == (uint ****)0x0" (identifier "ppppuVar13") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;\n    }" ({ "{") (labeled_statement "LAB_001c815c:\n      ppppuVar13 = (uint ****)0x0;" (statement_identifier "LAB_001c815c") (: ":") (expression_statement "ppppuVar13 = (uint ****)0x0;" (assignment_expression "ppppuVar13 = (uint ****)0x0" (identifier "ppppuVar13") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" (else "else") (compound_statement "{\n      pcVar26 = *(code **)(pcVar28 + 0x1e123c);\n      ppppuVar13[0x35] = (uint ***)0x0;\n      ppppuVar13[0x34] = (uint ***)0x0;\n      ppppuVar13[0x24] = (uint ***)0x4;\n      (*pcVar26)(ppppuVar13,ppppuVar15);\n      ppppuVar13[0x8a] = (uint ***)ppppuVar7;\n      ppppuVar13[0x8b] = pppuVar12;\n      ppppuVar13[0x8c] = (uint ***)0xffffffff;\n      ppppuVar13[0x8d] = (uint ***)0xffffffff;\n      ppppuVar22 = ppppuVar15;\n      if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }\n    }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar28 + 0x1e123c);" (assignment_expression "pcVar26 = *(code **)(pcVar28 + 0x1e123c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1e123c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e123c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e123c)" (( "(") (binary_expression "pcVar28 + 0x1e123c" (identifier "pcVar28") (+ "+") (number_literal "0x1e123c")) () ")"))))) (; ";")) (expression_statement "ppppuVar13[0x35] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x35] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x35]" (identifier "ppppuVar13") ([ "[") (number_literal "0x35") (] "]")) (= "=") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppuVar13[0x34] = (uint ***)0x0;" (assignment_expression "ppppuVar13[0x34] = (uint ***)0x0" (subscript_expression "ppppuVar13[0x34]" (identifier "ppppuVar13") ([ "[") (number_literal "0x34") (] "]")) (= "=") (cast_expression "(uint ***)0x0" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppuVar13[0x24] = (uint ***)0x4;" (assignment_expression "ppppuVar13[0x24] = (uint ***)0x4" (subscript_expression "ppppuVar13[0x24]" (identifier "ppppuVar13") ([ "[") (number_literal "0x24") (] "]")) (= "=") (cast_expression "(uint ***)0x4" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4"))) (; ";")) (expression_statement "(*pcVar26)(ppppuVar13,ppppuVar15);" (call_expression "(*pcVar26)(ppppuVar13,ppppuVar15)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(ppppuVar13,ppppuVar15)" (( "(") (identifier "ppppuVar13") (, ",") (identifier "ppppuVar15") () ")"))) (; ";")) (expression_statement "ppppuVar13[0x8a] = (uint ***)ppppuVar7;" (assignment_expression "ppppuVar13[0x8a] = (uint ***)ppppuVar7" (subscript_expression "ppppuVar13[0x8a]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8a") (] "]")) (= "=") (cast_expression "(uint ***)ppppuVar7" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppuVar7"))) (; ";")) (expression_statement "ppppuVar13[0x8b] = pppuVar12;" (assignment_expression "ppppuVar13[0x8b] = pppuVar12" (subscript_expression "ppppuVar13[0x8b]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8b") (] "]")) (= "=") (identifier "pppuVar12")) (; ";")) (expression_statement "ppppuVar13[0x8c] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8c] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8c]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8c") (] "]")) (= "=") (cast_expression "(uint ***)0xffffffff" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "ppppuVar13[0x8d] = (uint ***)0xffffffff;" (assignment_expression "ppppuVar13[0x8d] = (uint ***)0xffffffff" (subscript_expression "ppppuVar13[0x8d]" (identifier "ppppuVar13") ([ "[") (number_literal "0x8d") (] "]")) (= "=") (cast_expression "(uint ***)0xffffffff" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "ppppuVar22 = ppppuVar15;" (assignment_expression "ppppuVar22 = ppppuVar15" (identifier "ppppuVar22") (= "=") (identifier "ppppuVar15")) (; ";")) (if_statement "if (ppppuVar13[0x9a] == (uint ***)0x2) {\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" (if "if") (parenthesized_expression "(ppppuVar13[0x9a] == (uint ***)0x2)" (( "(") (binary_expression "ppppuVar13[0x9a] == (uint ***)0x2" (subscript_expression "ppppuVar13[0x9a]" (identifier "ppppuVar13") ([ "[") (number_literal "0x9a") (] "]")) (== "==") (cast_expression "(uint ***)0x2" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n        ppppuVar13[0x9a] = (uint ***)0x1;\n      }" ({ "{") (expression_statement "ppppuVar13[0x9a] = (uint ***)0x1;" (assignment_expression "ppppuVar13[0x9a] = (uint ***)0x1" (subscript_expression "ppppuVar13[0x9a]" (identifier "ppppuVar13") ([ "[") (number_literal "0x9a") (] "]")) (= "=") (cast_expression "(uint ***)0x1" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (iStack_1ac == *piVar24) {\n    return ppppuVar13;\n  }" (if "if") (parenthesized_expression "(iStack_1ac == *piVar24)" (( "(") (binary_expression "iStack_1ac == *piVar24" (identifier "iStack_1ac") (== "==") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) () ")")) (compound_statement "{\n    return ppppuVar13;\n  }" ({ "{") (return_statement "return ppppuVar13;" (return "return") (identifier "ppppuVar13") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar28 + 0x1e1410))();" (call_expression "(**(code **)(pcVar28 + 0x1e1410))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e1410))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e1410)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e1410)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e1410)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e1410)" (( "(") (binary_expression "pcVar28 + 0x1e1410" (identifier "pcVar28") (+ "+") (number_literal "0x1e1410")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001c8358:\n  ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" (statement_identifier "LAB_001c8358") (: ":") (expression_statement "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668);" (assignment_expression "ppppuVar22 = (uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (identifier "ppppuVar22") (= "=") (cast_expression "(uint ****)\n               (**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1e19b4))\n                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1e19b4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1e19b4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1e19b4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1e19b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1e19b4)" (( "(") (binary_expression "pcVar28 + 0x1e19b4" (identifier "pcVar28") (+ "+") (number_literal "0x1e19b4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,\n                          iVar4 + -0x2668)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1e0c8c) + 0x294c" (pointer_expression "*(int *)(pcVar28 + 0x1e0c8c)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1e0c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1e0c8c)" (( "(") (binary_expression "pcVar28 + 0x1e0c8c" (identifier "pcVar28") (+ "+") (number_literal "0x1e0c8c")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "ppppuVar22 + -0xa23" (identifier "ppppuVar22") (+ "+") (number_literal "-0xa23")) (, ",") (number_literal "0x23e") (, ",") (binary_expression "iVar4 + -0x2668" (identifier "iVar4") (+ "+") (number_literal "-0x2668")) () ")"))))) (; ";"))) (return_statement "return ppppuVar22;" (return "return") (identifier "ppppuVar22") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (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: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (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: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) consequence: (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: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) consequence: (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: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_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 declarator: (abstract_pointer_declarator 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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)))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal) (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)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (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)) (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)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (identifier)))) (labeled_statement label: (statement_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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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)) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (goto_statement label: (statement_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (goto_statement label: (statement_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (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: (identifier) right: (identifier))) (expression_statement (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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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))))) (labeled_statement label: (statement_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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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)))))) (labeled_statement label: (statement_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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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))))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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)) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (subscript_expression argument: (identifier) index: (number_literal))))))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) right: (identifier)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier) right: (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: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (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: (identifier))))))) consequence: (break_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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 (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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))))))) (return_statement (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: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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))))))) (return_statement (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: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (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)) (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)) (number_literal) (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)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) 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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (subscript_expression argument: (identifier) index: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (goto_statement label: (statement_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: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator)))) value: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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)) (number_literal) (number_literal) (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)) (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)) (binary_expression left: (identifier) right: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) 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 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: (identifier))) (if_statement condition: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) 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 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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (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: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) consequence: (goto_statement label: (statement_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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)))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (identifier) (number_literal)))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (call_expression function: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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)) (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)) (number_literal) (number_literal) (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)) (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)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))))) 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 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 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 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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator)))) value: (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 declarator: (abstract_pointer_declarator)))) value: (number_literal)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (identifier)))))

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

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  uint ***pppuVar6;
  uint ****ppppuVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int extraout_v1;
  uint ****extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  uint ****extraout_v1_03;
  uint ***pppuVar10;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  int extraout_v1_12;
  int extraout_v1_13;
  int extraout_v1_14;
  int extraout_v1_15;
  uint **ppuVar11;
  uint ***pppuVar12;
  uint ****ppppuVar13;
  uint ***pppuVar14;
  uint ****ppppuVar15;
  uint ****ppppuVar16;
  int iVar17;
  uint ***pppuVar18;
  uint **ppuVar19;
  uint **ppuVar20;
  uint ****ppppuVar21;
  uint ****ppppuVar22;
  undefined4 *puVar23;
  int *piVar24;
  undefined *puVar25;
  code *pcVar26;
  undefined *puVar27;
  uint ****unaff_s8;
  code *pcVar28;
  code *pcVar29;
  double dVar30;
  float fVar31;
  double dVar32;
  undefined8 uVar33;
  undefined4 uStack_1e8;
  undefined4 uStack_1e4;
  uint ***pppuStack_1dc;
  uint **ppuStack_1d8;
  uint **ppuStack_1d4;
  uint **ppuStack_1d0;
  uint **ppuStack_1cc;
  uint ***pppuStack_1c8;
  undefined4 uStack_1c4;
  undefined4 uStack_1c0;
  uint ***pppuStack_1bc;
  undefined4 *puStack_1b8;
  uint ***pppuStack_1b4;
  int iStack_1b0;
  int iStack_1ac;
  uint ***pppuStack_1a4;
  uint ***pppuStack_1a0;
  uint ***pppuStack_19c;
  undefined4 *puStack_198;
  int iStack_194;
  int iStack_190;
  uint ***pppuStack_18c;
  uint ***pppuStack_188;
  code *pcStack_184;
  uint ***pppuStack_170;
  uint ***pppuStack_16c;
  code *pcStack_168;
  undefined4 uStack_15c;
  uint ***pppuStack_158;
  undefined4 uStack_154;
  int iStack_150;
  int *piStack_14c;
  uint ***pppuStack_148;
  uint **ppuStack_144;
  uint ***pppuStack_140;
  uint ***pppuStack_13c;
  uint ***pppuStack_138;
  undefined4 *puStack_134;
  int iStack_130;
  int iStack_12c;
  uint ***pppuStack_128;
  uint ***pppuStack_124;
  uint ***pppuStack_120;
  code *pcStack_11c;
  uint ***pppuStack_100;
  uint ***pppuStack_fc;
  int iStack_f8;
  uint ***pppuStack_f4;
  undefined *puStack_f0;
  undefined4 *puStack_e4;
  undefined4 uStack_e0;
  undefined4 uStack_dc;
  uint **ppuStack_d4;
  uint **ppuStack_d0;
  uint **ppuStack_cc;
  uint **ppuStack_c8;
  uint ***pppuStack_c4;
  uint ***pppuStack_c0;
  int iStack_bc;
  int iStack_b8;
  uint ***pppuStack_b4;
  uint ***pppuStack_b0;
  uint ***pppuStack_ac;
  uint ***pppuStack_a8;
  uint ***pppuStack_a4;
  uint ***pppuStack_a0;
  uint ***pppuStack_9c;
  uint ***pppuStack_98;
  undefined *puStack_94;
  int iStack_90;
  int iStack_8c;
  uint ***pppuStack_88;
  uint ***pppuStack_84;
  uint ***pppuStack_80;
  code *pcStack_7c;
  uint ***local_5c;
  undefined4 local_58;
  uint ***local_54;
  uint ***local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  uint ***local_3c;
  int local_38;
  int local_34;
  uint ***local_30;
  uint ***local_2c;
  
  puVar2 = PTR___stack_chk_guard_003a9230;
  local_2c = *(uint ****)PTR___stack_chk_guard_003a9230;
  iVar3 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_9);
  iVar4 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_9);
  iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2);
  if (((iVar5 == 4) || (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar5 == 3)
      ) && ((iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 4 ||
            (iVar5 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar5 == 3)))) {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    ppppuVar22 = param_4;
    if ((int)param_4 < 0) {
      ppppuVar22 = (uint ****)((int)param_4 + 0x3f);
    }
    unaff_s8 = (uint ****)((int)ppppuVar22 >> 6);
    if (extraout_v1 < (int)unaff_s8) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_02 < 2;
    }
    else {
      bVar1 = (int)param_4 < 0x80;
    }
    ppppuVar22 = (uint ****)0x1;
    if (((bool)(bVar1 ^ 1)) &&
       ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), ppppuVar22 = unaff_s8,
       extraout_v1_01 < (int)unaff_s8)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      ppppuVar22 = extraout_v1_03;
      unaff_s8 = extraout_v1_03;
    }
  }
  else {
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
        ppppuVar22 = (uint ****)0x1;
        goto LAB_001c6ec4;
      }
    }
    uVar33 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar33 >> 0x20) == 0) && ((uint)uVar33 < 2)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      ppppuVar22 = extraout_v1_00;
    }
    else {
      ppppuVar22 = (uint ****)0x2;
    }
  }
LAB_001c6ec4:
  ppppuVar13 = &local_5c;
  local_40 = param_8;
  local_44 = param_7;
  local_3c = (uint ***)param_9;
  local_48 = param_6;
  local_4c = param_5;
  local_30 = (uint ***)0x1;
  local_5c = (uint ***)param_1;
  local_58 = param_2;
  local_54 = (uint ***)param_3;
  local_50 = (uint ***)param_4;
  local_38 = iVar3;
  local_34 = iVar4;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a89a0 + 0x5be0,ppppuVar13,ppppuVar22,0);
  ppppuVar7 = (uint ****)local_30;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar4);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(iVar3);
  if ((uint ****)local_2c == *(uint *****)puVar2) {
    return ppppuVar7;
  }
  pcVar28 = ChopImage;
  ppppuVar21 = (uint ****)local_2c;
  puVar25 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puVar27 = puVar25 + 0x1e9808;
  puStack_94 = puVar2;
  puVar23 = *(undefined4 **)(puVar25 + 0x1e2188);
  pppuStack_9c = (uint ***)param_9;
  pppuStack_a0 = (uint ***)ppppuVar7;
  pppuStack_a4 = (uint ***)*puVar23;
  puStack_f0 = puVar27;
  pppuStack_98 = (uint ***)param_1;
  iStack_90 = iVar3;
  iStack_8c = iVar4;
  pppuStack_88 = (uint ***)param_4;
  pppuStack_84 = (uint ***)param_3;
  pppuStack_80 = (uint ***)unaff_s8;
  pcStack_7c = pcVar28;
  if (ppppuVar21 == (uint ****)0x0) {
LAB_001c777c:
    ppppuVar22 = param_1;
    ppppuVar21 = ppppuVar7;
    ppppuVar13 = (uint ****)(*(int *)(puVar27 + -0x7fc4) + -0x288c);
    ppppuVar7 = (uint ****)(*(int *)(puVar27 + -0x7fc8) + -0x37b0);
    (**(code **)(puVar27 + -0x72a8))
              (ppppuVar7,ppppuVar13,0xd9,*(int *)(puVar27 + -0x7fc4) + -0x2620);
  }
  else {
    if (ppppuVar21[0xcdb] != (uint ***)0xabacadab) {
LAB_001c7758:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc8) + -0x3784,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xda,
                 *(int *)(puVar27 + -0x7fc4) + -0x2620);
      ppppuVar7 = ppppuVar21;
      goto LAB_001c777c;
    }
    if (ppppuVar21[0xcd4] != (uint ***)0x0) {
      pppuStack_fc = (uint ***)(ppppuVar21 + 0xd0);
      pppuStack_100 = (uint ***)(*(int *)(puVar25 + 0x1e183c) + -0x62ac);
      (**(code **)(puVar25 + 0x1e2138))
                (0x8000,*(int *)(puVar25 + 0x1e1844) + -0x288c,
                 *(int *)(puVar25 + 0x1e1844) + -0x262c,0xdc);
    }
    puVar27 = puStack_f0;
    if (ppppuVar22 == (uint ****)0x0) {
      iVar17 = *(int *)(puStack_f0 + -0x7fc4) + -0x2620;
      iVar5 = *(int *)(puStack_f0 + -0x7fc4) + -0x288c;
      (**(code **)(puStack_f0 + -0x72a8))(*(int *)(puStack_f0 + -0x7fd0) + 0x1cac,iVar5,0xdd,iVar17)
      ;
LAB_001c771c:
      iVar17 = iVar17 + -0x2620;
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fc4) + -0x2874,iVar5 + -0x288c,0xdf,iVar17);
LAB_001c7738:
      (**(code **)(puVar27 + -0x72a8))
                (*(int *)(puVar27 + -0x7fd0) + 0x294c,*(int *)(puVar27 + -0x7fc4) + -0x288c,0xde,
                 iVar17 + -0x2620);
      param_9 = ppppuVar13;
      param_1 = ppppuVar22;
      goto LAB_001c7758;
    }
    iVar17 = *(int *)(puStack_f0 + -0x7fc4);
    if (ppppuVar22[7] != (uint ***)0xabacadab) goto LAB_001c7738;
    iVar5 = *(int *)(puStack_f0 + -0x7fc4);
    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c771c;
    pppuVar6 = ppppuVar13[2];
    pppuVar12 = *ppppuVar13;
    if ((int)pppuVar6 + (int)pppuVar12 < 0) {
LAB_001c7544:
      ppppuVar21 = ppppuVar21 + 0xd0;
      iStack_f8 = *(int *)(puStack_f0 + -0x7fd0) + 0x3e28;
      ppppuVar13 = (uint ****)(*(int *)(puStack_f0 + -0x7fc4) + -0x288c);
      param_9 = (uint ****)0x0;
      pppuStack_fc = (uint ***)(*(int *)(puStack_f0 + -0x7fd0) + 0x16bc);
      pppuStack_100 = (uint ***)0x136;
      pppuStack_f4 = (uint ***)ppppuVar21;
      (**(code **)(puStack_f0 + -0x7990))
                (ppppuVar22,ppppuVar13,*(int *)(puStack_f0 + -0x7fc4) + -0x262c,0xe4);
    }
    else {
      pppuVar10 = ppppuVar13[3];
      iVar5 = (int)pppuVar10 + (int)ppppuVar13[1];
      if ((iVar5 < 0) || (pppuVar18 = ppppuVar21[6], (int)pppuVar18 < (int)pppuVar6))
      goto LAB_001c7544;
      pppuVar14 = ppppuVar21[7];
      if ((int)pppuVar14 < (int)pppuVar10) goto LAB_001c7544;
      if ((int)pppuVar18 < (int)pppuVar6 + (int)pppuVar12) {
        pppuVar12 = (uint ***)((int)pppuVar18 - (int)pppuVar6);
      }
      ppuStack_d0 = (uint **)((int)pppuVar14 - (int)pppuVar10);
      if (iVar5 <= (int)pppuVar14) {
        ppuStack_d0 = (uint **)ppppuVar13[1];
      }
      ppuStack_d4 = (uint **)pppuVar12;
      ppuStack_cc = (uint **)pppuVar6;
      if ((int)pppuVar6 < 0) {
        ppuStack_d4 = (uint **)((int)pppuVar12 + (int)pppuVar6);
        ppuStack_cc = (uint **)0x0;
      }
      ppuStack_c8 = (uint **)pppuVar10;
      if ((int)pppuVar10 < 0) {
        ppuStack_d0 = (uint **)((int)ppuStack_d0 + (int)pppuVar10);
        ppuStack_c8 = (uint **)0x0;
      }
      ppppuVar13 = (uint ****)((int)pppuVar18 - (int)ppuStack_d4);
      pppuStack_100 = (uint ***)ppppuVar22;
      param_9 = (uint ****)
                (**(code **)(puStack_f0 + -0x7080))
                          (ppppuVar21,ppppuVar13,(int)pppuVar14 - (int)ppuStack_d0,1);
      if (param_9 != (uint ****)0x0) {
        uStack_dc = 0;
        uStack_e0 = 0;
        iVar3 = (**(code **)(puStack_f0 + -0x715c))(ppppuVar21,ppppuVar22);
        iVar4 = (**(code **)(puStack_f0 + -0x79dc))(param_9,ppppuVar22);
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))
           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||
               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          pppuVar6 = (uint ***)ppuStack_c8;
          if ((int)ppuStack_c8 < 0) {
            pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);
          }
          if (extraout_v1_04 < (int)pppuVar6 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_08 < 2;
          }
          else {
            bVar1 = (int)ppuStack_c8 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            pppuVar6 = (uint ***)ppuStack_c8;
            if ((int)ppuStack_c8 < 0) {
              pppuVar6 = (uint ***)((int)ppuStack_c8 + 0x3f);
            }
            iVar5 = (int)pppuVar6 >> 6;
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
            if (extraout_v1_09 < iVar5) {
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              goto LAB_001c75c4;
            }
          }
          else {
            iVar17 = *(int *)(puStack_f0 + -0x7f10);
          }
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            uVar33 = (*pcVar28)(7);
            if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c727c;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (1 < (uint)uVar33) goto LAB_001c7280;
            iVar5 = 1;
          }
          else {
LAB_001c727c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
LAB_001c7280:
            uVar33 = (*pcVar28)(7);
            if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
               (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75c4:
              (*pcVar28)(7);
              iVar5 = extraout_v1_07;
            }
            else {
              iVar5 = 2;
            }
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        puStack_e4 = &uStack_e0;
        param_3 = &pppuStack_c4;
        param_4 = (uint ****)&ppuStack_d4;
        pppuStack_a8 = (uint ***)0x1;
        pppuStack_c4 = (uint ***)ppppuVar21;
        pppuStack_c0 = (uint ***)ppppuVar22;
        iStack_bc = iVar4;
        iStack_b8 = iVar3;
        pppuStack_b4 = (uint ***)param_9;
        pppuStack_b0 = (uint ***)puStack_e4;
        pppuStack_ac = (uint ***)param_4;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4ed8,param_3,iVar5,0);
        unaff_s8 = (uint ****)pppuStack_a8;
        iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21);
        if (((iVar5 == 4) || (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(ppppuVar21), iVar5 == 3))
           && ((iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 4 ||
               (iVar5 = (**(code **)(puStack_f0 + -0x73fc))(param_9), iVar5 == 3)))) {
          (**(code **)(puStack_f0 + -0x7774))(7);
          iVar17 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);
          iVar5 = iVar17;
          if (iVar17 < 0) {
            iVar5 = iVar17 + 0x3f;
          }
          if (extraout_v1_05 < iVar5 >> 6) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            bVar1 = extraout_v1_11 < 2;
          }
          else {
            bVar1 = iVar17 < 0x80;
          }
          iVar5 = 1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(puStack_f0 + -0x7774))(7);
            iVar5 = (int)ppppuVar21[7] - ((int)ppuStack_c8 + (int)ppuStack_d0);
            if (iVar5 < 0) {
              iVar5 = iVar5 + 0x3f;
            }
            iVar5 = iVar5 >> 6;
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if (extraout_v1_10 < iVar5) goto LAB_001c75a4;
            goto LAB_001c7344;
          }
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        else {
          uVar33 = (**(code **)(puStack_f0 + -0x7774))(7);
          if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
            if ((uint)uVar33 < 2) {
              uVar33 = (*pcVar28)(7);
              if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c732c;
              pcVar28 = *(code **)(puStack_f0 + -0x7774);
              if ((uint)uVar33 < 2) {
                iVar5 = 1;
                goto LAB_001c7344;
              }
            }
          }
          else {
LAB_001c732c:
            pcVar28 = *(code **)(puStack_f0 + -0x7774);
          }
          uVar33 = (*pcVar28)(7);
          if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
             (pcVar28 = *(code **)(puStack_f0 + -0x7774), (uint)uVar33 < 2)) {
LAB_001c75a4:
            (*pcVar28)(7);
            iVar5 = extraout_v1_06;
          }
          else {
            iVar5 = 2;
          }
LAB_001c7344:
          iVar17 = *(int *)(puStack_f0 + -0x7f10);
        }
        pppuStack_a8 = (uint ***)puStack_e4;
        pppuStack_ac = (uint ***)unaff_s8;
        ppppuVar13 = param_3;
        pppuStack_c4 = (uint ***)ppppuVar21;
        pppuStack_c0 = (uint ***)ppppuVar22;
        iStack_bc = iVar4;
        iStack_b8 = iVar3;
        pppuStack_b4 = (uint ***)param_9;
        pppuStack_b0 = (uint ***)param_4;
        (**(code **)(puStack_f0 + -0x7718))(iVar17 + 0x4bf0,param_3,iVar5,0);
        ppppuVar22 = (uint ****)pppuStack_ac;
        (**(code **)(puStack_f0 + -0x79bc))(iVar4);
        (**(code **)(puStack_f0 + -0x79bc))(iVar3);
        param_9[0xa8] = ppppuVar21[0xa8];
        if (ppppuVar22 == (uint ****)0x0) {
          param_9 = (uint ****)(**(code **)(puStack_f0 + -0x7964))(param_9);
        }
      }
    }
    ppppuVar7 = (uint ****)pppuStack_a4;
    puVar27 = puStack_f0;
    if ((uint ****)pppuStack_a4 == (uint ****)*puVar23) {
      return param_9;
    }
  }
  pcVar26 = *(code **)(puVar27 + -0x784c);
  pcVar29 = ConsolidateCMYKImages;
  (*pcVar26)();
  pcVar28 = pcVar26 + 0x1e9104;
  piStack_14c = *(int **)(pcVar26 + 0x1e1a84);
  ppppuVar15 = (uint ****)&DAT_000001b4;
  ppuStack_144 = (uint **)*piStack_14c;
  pcStack_168 = pcVar28;
  pppuStack_158 = (uint ***)ppppuVar13;
  pppuStack_140 = (uint ***)ppppuVar21;
  pppuStack_13c = (uint ***)param_9;
  pppuStack_138 = (uint ***)ppppuVar22;
  puStack_134 = puVar23;
  iStack_130 = iVar3;
  iStack_12c = iVar4;
  pppuStack_128 = (uint ***)param_4;
  pppuStack_124 = (uint ***)param_3;
  pppuStack_120 = (uint ***)unaff_s8;
  pcStack_11c = pcVar29;
  if (ppppuVar7 == (uint ****)0x0) {
LAB_001c7c28:
    ppppuVar7 = param_3;
    ppppuVar13 = (uint ****)(*(int *)(pcVar28 + -0x7fc4) + -0x288c);
    pppuVar6 = (uint ***)(*(int *)(pcVar28 + -0x7fd0) + 0x1e48);
    (**(code **)(pcVar28 + -0x72a8))();
  }
  else {
    if (ppppuVar7[0xcdb] != (uint ***)0xabacadab) {
      (**(code **)(pcVar26 + 0x1e1e5c))
                (*(int *)(pcVar26 + 0x1e1134) + 0x1e64,*(int *)(pcVar26 + 0x1e1140) + -0x288c,0x1b5,
                 *(int *)(pcVar26 + 0x1e1140) + -0x2644);
LAB_001c7bdc:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x1cac,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b8,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c00:
      (**(code **)(pcVar28 + -0x72a8))
                (*(int *)(pcVar28 + -0x7fd0) + 0x294c,*(int *)(pcVar28 + -0x7fc4) + -0x288c,0x1b9,
                 *(int *)(pcVar28 + -0x7fc4) + -0x2644);
LAB_001c7c24:
      ppppuVar15 = (uint ****)0x1c0;
      param_3 = ppppuVar7;
      goto LAB_001c7c28;
    }
    if (ppppuVar7[0xcd4] != (uint ***)0x0) {
      pppuStack_16c = (uint ***)(ppppuVar7 + 0xd0);
      ppppuVar15 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x265c);
      ppppuVar13 = (uint ****)(*(int *)(pcVar26 + 0x1e1140) + -0x288c);
      pppuStack_170 = (uint ***)(*(int *)(pcVar26 + 0x1e1138) + -0x62ac);
      (**(code **)(pcVar26 + 0x1e1a34))(0x8000,ppppuVar13,ppppuVar15,0x1b7);
    }
    pcVar28 = pcStack_168;
    if ((uint ****)pppuStack_158 == (uint ****)0x0) goto LAB_001c7bdc;
    if ((uint ***)pppuStack_158[7] != (uint ***)0xabacadab) goto LAB_001c7c00;
    pppuStack_148 = (uint ***)(**(code **)(pcStack_168 + -0x7a2c))();
    iStack_150 = 0;
    dVar32 = *(double *)(*(int *)(pcStack_168 + -0x7fd0) + 0x1a58);
    iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);
    if (iStack_150 < iVar5) {
      do {
        pcVar28 = pcStack_168;
        if (ppppuVar7 == (uint ****)0x0) goto LAB_001c7c24;
        ppppuVar15 = (uint ****)0x0;
        ppppuVar13 = (uint ****)0x0;
        pppuStack_170 = pppuStack_158;
        param_4 = (uint ****)(**(code **)(pcStack_168 + -0x7080))(ppppuVar7,0,0,1);
        ppppuVar16 = (uint ****)pppuStack_158;
        if (param_4 == (uint ****)0x0) break;
        ppppuVar13 = (uint ****)0x1;
        ppppuVar15 = (uint ****)pppuStack_158;
        iVar5 = (**(code **)(pcStack_168 + -0x708c))(param_4);
        ppppuVar21 = ppppuVar16;
        if (iVar5 == 0) break;
        (**(code **)(pcStack_168 + -0x7b70))(param_4,2);
        ppppuVar21 = (uint ****)0x0;
        ppppuVar15 = ppppuVar16;
        do {
          param_9 = (uint ****)pppuStack_158;
          uStack_154 = (**(code **)(pcStack_168 + -0x715c))(ppppuVar7,pppuStack_158);
          uStack_15c = (**(code **)(pcStack_168 + -0x79dc))(param_4,param_9);
          if (0 < (int)ppppuVar7[7]) {
            ppppuVar22 = (uint ****)0x0;
            while( true ) {
              param_9 = (uint ****)pppuStack_158;
              pppuStack_170 = (uint ***)0x1;
              pppuStack_16c = pppuStack_158;
              iVar3 = (**(code **)(pcStack_168 + -0x7254))(uStack_154,0,ppppuVar22,ppppuVar7[6]);
              pppuStack_170 = (uint ***)0x1;
              pppuStack_16c = (uint ***)param_9;
              ppppuVar15 = ppppuVar22;
              puVar23 = (undefined4 *)
                        (**(code **)(pcStack_168 + -0x7c60))(uStack_15c,0,ppppuVar22,param_4[6]);
              if (iVar3 == 0) break;
              pcVar28 = *(code **)(pcStack_168 + -0x79bc);
              if (puVar23 == (undefined4 *)0x0) goto LAB_001c7ab8;
              pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              if (0 < (int)ppppuVar7[6]) {
                param_9 = (uint ****)0x2;
                iVar5 = 0;
                do {
                  while( true ) {
                    iVar4 = iVar5;
                    dVar30 = (double)(**(code **)(pcStack_168 + -0x7a58))(ppppuVar7,iVar3);
                    fVar31 = (float)(dVar32 - dVar30);
                    if (ppppuVar21 != (uint ****)0x2) break;
                    pppuVar6 = param_4[0xb0];
                    iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;
                    puVar23[(int)param_4[0xb4][8]] = fVar31;
                    puVar23 = puVar23 + (int)pppuVar6;
                    iVar5 = iVar4 + 1;
                    if ((int)ppppuVar7[6] <= iVar4 + 1) goto LAB_001c7a88;
                  }
                  if (ppppuVar21 == (uint ****)0x3) {
                    if (param_4[0xb4][10] != (uint **)0x0) {
                      puVar23[(int)param_4[0xb4][0xb]] = fVar31;
                    }
                  }
                  else if (ppppuVar21 == (uint ****)0x1) {
                    puVar23[(int)param_4[0xb4][5]] = fVar31;
                  }
                  else {
                    puVar23[(int)param_4[0xb4][2]] = fVar31;
                  }
                  iVar3 = iVar3 + (int)ppppuVar7[0xb0] * 4;
                  puVar23 = puVar23 + (int)param_4[0xb0];
                  iVar5 = iVar4 + 1;
                } while (iVar4 + 1 < (int)ppppuVar7[6]);
LAB_001c7a88:
                iVar4 = iVar4 + 1;
                pcVar28 = *(code **)(pcStack_168 + -0x73b8);
              }
              iVar5 = (*pcVar28)(uStack_15c,pppuStack_158);
              if ((iVar5 == 0) ||
                 (ppppuVar22 = (uint ****)((int)ppppuVar22 + 1),
                 (int)ppppuVar7[7] <= (int)ppppuVar22)) break;
            }
          }
          pcVar28 = *(code **)(pcStack_168 + -0x79bc);
LAB_001c7ab8:
          (*pcVar28)(uStack_15c);
          (**(code **)(pcStack_168 + -0x79bc))(uStack_154);
          ppppuVar7 = (uint ****)(**(code **)(pcStack_168 + -0x7440))(ppppuVar7);
        } while ((ppppuVar7 != (uint ****)0x0) &&
                (ppppuVar21 = (uint ****)((int)ppppuVar21 + 1),
                ppppuVar21 != (uint ****)&DAT_00000004));
        iStack_150 = iStack_150 + 4;
        ppppuVar13 = param_4;
        (**(code **)(pcStack_168 + -0x7030))(&pppuStack_148);
        iVar5 = (**(code **)(pcStack_168 + -0x7638))(ppppuVar7);
      } while (iStack_150 < iVar5);
    }
    pppuVar6 = (uint ***)ppuStack_144;
    pcVar28 = pcStack_168;
    if ((uint ***)ppuStack_144 == (uint ***)*piStack_14c) {
      return (uint ****)pppuStack_148;
    }
  }
  pcVar28 = *(code **)(pcVar28 + -0x784c);
  pcVar26 = CropImage;
  (*pcVar28)();
  piVar24 = *(int **)(pcVar28 + 0x1e15dc);
  iStack_1ac = *piVar24;
  pppuStack_1a4 = (uint ***)ppppuVar21;
  pppuStack_1a0 = (uint ***)param_9;
  pppuStack_19c = (uint ***)ppppuVar22;
  puStack_198 = puVar23;
  iStack_194 = iVar3;
  iStack_190 = iVar4;
  pppuStack_18c = (uint ***)param_4;
  pppuStack_188 = (uint ***)ppppuVar7;
  pcStack_184 = pcVar26;
  if (pppuVar6 == (uint ***)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c94) + -0x37b0,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x238,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return ppppuVar22;
  }
  if (pppuVar6[0xcdb] != (uint **)0xabacadab) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c94) + -0x3784,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x239,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x2668);
    return ppppuVar22;
  }
  if (pppuVar6[0xcd4] != (uint **)0x0) {
    (**(code **)(pcVar28 + 0x1e158c))
              (0x8000,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,
               0x23b,*(int *)(pcVar28 + 0x1e0c90) + -0x62ac,pppuVar6 + 0xd0);
  }
  iVar4 = *(int *)(pcVar28 + 0x1e0c98);
  if (ppppuVar13 == (uint ****)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c98) + -0x2850,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23c,iVar4 + -0x2668);
    return ppppuVar22;
  }
  if (ppppuVar15 == (uint ****)0x0) {
    ppppuVar22 = (uint ****)
                 (**(code **)(pcVar28 + 0x1e19b4))
                           (*(int *)(pcVar28 + 0x1e0c8c) + 0x1cac,
                            *(int *)(pcVar28 + 0x1e0c98) + -0x288c,0x23d,iVar4 + -0x2668);
    return ppppuVar22;
  }
  ppppuVar22 = *(uint *****)(pcVar28 + 0x1e0c98);
  if (ppppuVar15[7] != (uint ***)0xabacadab) goto LAB_001c8358;
  ppppuVar7 = (uint ****)pppuVar6[0x8a];
  pppuVar12 = (uint ***)pppuVar6[0x8b];
  ppuVar11 = pppuVar6[0x8c];
  pppuVar10 = (uint ***)pppuVar6[0x8d];
  if (ppppuVar7 == (uint ****)0x0) {
    ppppuVar7 = (uint ****)pppuVar6[6];
LAB_001c7cf8:
    pppuVar12 = (uint ***)pppuVar6[7];
  }
  else if (pppuVar12 == (uint ***)0x0) {
    ppppuVar7 = (uint ****)pppuVar6[6];
    goto LAB_001c7cf8;
  }
  ppuStack_1d4 = (uint **)ppppuVar13[2];
  pppuVar18 = ppppuVar13[3];
  pppuStack_1dc = *ppppuVar13;
  if ((uint ****)*ppppuVar13 == (uint ****)0x0) {
    pppuStack_1dc = (uint ***)ppppuVar7;
  }
  ppuStack_1d8 = (uint **)ppppuVar13[1];
  if (ppppuVar13[1] == (uint ***)0x0) {
    ppuStack_1d8 = (uint **)pppuVar12;
  }
  if ((int)ppuVar11 - (int)ppuStack_1d4 < (int)pppuStack_1dc) {
    pppuVar14 = (uint ***)((int)ppuStack_1d4 - (int)ppuVar11);
    if ((int)ppuStack_1d8 <= (int)pppuVar10 - (int)pppuVar18) goto LAB_001c7d60;
    ppuVar19 = pppuVar6[6];
    ppuStack_1d0 = (uint **)((int)pppuVar18 - (int)pppuVar10);
    if (((int)ppuVar19 < (int)pppuVar14) ||
       (ppuVar20 = pppuVar6[7], (int)ppuVar20 < (int)ppuStack_1d0)) goto LAB_001c7d60;
    if (((int)ppuStack_1d4 < 0) && (-1 < (int)ppuVar11)) {
      pppuStack_1dc = (uint ***)((int)pppuVar14 + (int)pppuStack_1dc);
      ppuStack_1d4 = (uint **)0x0;
    }
    else {
      pppuStack_1dc = (uint ***)((int)pppuStack_1dc - ((int)ppuVar11 - (int)ppuStack_1d4));
      ppuStack_1d4 = (uint **)pppuVar14;
      if ((int)pppuVar14 < 0) {
        ppuStack_1d4 = (uint **)0x0;
      }
    }
    if (((int)pppuVar18 < 0) && (-1 < (int)pppuVar10)) {
      ppuStack_1d8 = (uint **)((int)ppuStack_1d0 + (int)ppuStack_1d8);
      ppuStack_1d0 = (uint **)0x0;
      pppuVar18 = pppuVar10;
    }
    else {
      ppuStack_1d8 = (uint **)((int)ppuStack_1d8 - ((int)pppuVar10 - (int)pppuVar18));
      if ((int)ppuStack_1d0 < 0) {
        ppuStack_1d0 = (uint **)0x0;
        pppuVar18 = pppuVar10;
      }
    }
    if ((int)ppuVar19 < (int)((int)pppuStack_1dc + (int)ppuStack_1d4)) {
      pppuStack_1dc = (uint ***)((int)ppuVar19 - (int)ppuStack_1d4);
    }
    ppppuVar22 = (uint ****)*ppppuVar13;
    if ((ppppuVar22 != (uint ****)0x0) && (ppppuVar22 < pppuStack_1dc)) {
      pppuStack_1dc = (uint ***)ppppuVar22;
    }
    if ((int)ppuVar20 < (int)ppuStack_1d8 + (int)ppuStack_1d0) {
      ppuStack_1d8 = (uint **)((int)ppuVar20 - (int)ppuStack_1d0);
    }
    pppuVar10 = ppppuVar13[1];
    pppuVar14 = (uint ***)((int)ppuStack_1d4 + (int)ppuVar11);
    if ((pppuVar10 == (uint ***)0x0) || (ppuStack_1d8 <= pppuVar10)) {
      if (((uint ****)pppuStack_1dc != (uint ****)0x0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e1bdc), (uint ***)ppuStack_1d8 != (uint ***)0x0))
      goto LAB_001c7f40;
LAB_001c8110:
      iVar4 = 0x285;
      ppppuVar22 = (uint ****)(*(int *)(pcVar28 + 0x1e0c98) + -0x288c);
      (**(code **)(pcVar28 + 0x1e12cc))
                (ppppuVar15,ppppuVar22,*(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x285,0x136,
                 *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,
                 pppuVar6 + 0xd0);
      goto LAB_001c815c;
    }
    ppuStack_1d8 = (uint **)pppuVar10;
    if ((uint ****)pppuStack_1dc == (uint ****)0x0) goto LAB_001c8110;
    pcVar26 = *(code **)(pcVar28 + 0x1e1bdc);
LAB_001c7f40:
    iVar4 = 1;
    ppppuVar22 = (uint ****)pppuStack_1dc;
    ppppuVar13 = (uint ****)(*pcVar26)(pppuVar6,pppuStack_1dc,ppuStack_1d8,1,ppppuVar15);
    if (ppppuVar13 == (uint ****)0x0) goto LAB_001c815c;
    pppuVar10 = (uint ***)pppuVar6[0x8b];
    ppppuVar13[0x8a] = (uint ***)pppuVar6[0x8a];
    ppppuVar13[0x8b] = pppuVar10;
    if (((int)pppuVar6[0x8a] < (int)((int)pppuVar14 + (int)ppppuVar7)) ||
       ((int)pppuVar6[0x8b] < (int)pppuVar18 + (int)pppuVar12)) {
      ppppuVar13[0x8a] = (uint ***)ppppuVar7;
      ppppuVar13[0x8b] = pppuVar12;
    }
    pcVar26 = *(code **)(pcVar28 + 0x1e1b00);
    ppppuVar13[0x8c] = pppuVar14;
    uStack_1e4 = 0;
    ppppuVar13[0x8d] = pppuVar18;
    uStack_1e8 = 0;
    uVar8 = (*pcVar26)(pppuVar6,ppppuVar15);
    uVar9 = (**(code **)(pcVar28 + 0x1e1280))(ppppuVar13,ppppuVar15);
    iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6);
    if (((iVar4 == 4) || (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(pppuVar6), iVar4 == 3)) &&
       ((iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 4 ||
        (iVar4 = (**(code **)(pcVar28 + 0x1e1860))(ppppuVar13), iVar4 == 3)))) {
      (**(code **)(pcVar28 + 0x1e14e8))(7);
      pppuVar10 = ppppuVar13[7];
      pppuVar12 = pppuVar10;
      if ((int)pppuVar10 < 0) {
        pppuVar12 = (uint ***)((int)pppuVar10 + 0x3f);
      }
      if (extraout_v1_13 < (int)pppuVar12 >> 6) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        bVar1 = extraout_v1_15 < 2;
      }
      else {
        bVar1 = (int)pppuVar10 < 0x80;
      }
      iVar5 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcVar28 + 0x1e14e8))(7);
        pppuVar12 = ppppuVar13[7];
        if ((int)pppuVar12 < 0) {
          pppuVar12 = (uint ***)((int)pppuVar12 + 0x3f);
        }
        iVar5 = (int)pppuVar12 >> 6;
        if (extraout_v1_14 < iVar5) {
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          goto LAB_001c8184;
        }
      }
    }
    else {
      uVar33 = (**(code **)(pcVar28 + 0x1e14e8))(7);
      if ((int)((ulonglong)uVar33 >> 0x20) == 0) {
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
        if ((uint)uVar33 < 2) {
          uVar33 = (*pcVar26)(7);
          if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto LAB_001c801c;
          pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
          if ((uint)uVar33 < 2) {
            iVar5 = 1;
            goto LAB_001c8038;
          }
        }
      }
      else {
LAB_001c801c:
        pcVar26 = *(code **)(pcVar28 + 0x1e14e8);
      }
      uVar33 = (*pcVar26)(7);
      if (((int)((ulonglong)uVar33 >> 0x20) == 0) &&
         (pcVar26 = *(code **)(pcVar28 + 0x1e14e8), (uint)uVar33 < 2)) {
LAB_001c8184:
        (*pcVar26)(7);
        iVar5 = extraout_v1_12;
      }
      else {
        iVar5 = 2;
      }
    }
LAB_001c8038:
    puStack_1b8 = &uStack_1e8;
    iVar4 = 0;
    pppuStack_1b4 = (uint ***)&pppuStack_1dc;
    ppppuVar22 = (uint ****)&ppuStack_1cc;
    iStack_1b0 = 1;
    ppuStack_1cc = (uint **)pppuVar6;
    pppuStack_1c8 = (uint ***)ppppuVar15;
    uStack_1c4 = uVar9;
    uStack_1c0 = uVar8;
    pppuStack_1bc = (uint ***)ppppuVar13;
    (**(code **)(pcVar28 + 0x1e1544))(*(int *)(pcVar28 + 0x1e0d4c) + 0x5198,ppppuVar22,iVar5,0);
    iVar5 = iStack_1b0;
    (**(code **)(pcVar28 + 0x1e12a0))(uVar9);
    (**(code **)(pcVar28 + 0x1e12a0))(uVar8);
    ppppuVar13[0xa8] = (uint ***)pppuVar6[0xa8];
    if (iVar5 == 0) {
      ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e12f8))(ppppuVar13);
    }
  }
  else {
LAB_001c7d60:
    ppuStack_1d0 = (uint **)pppuVar18;
    (**(code **)(pcVar28 + 0x1e12cc))
              (ppppuVar15,*(int *)(pcVar28 + 0x1e0c98) + -0x288c,
               *(int *)(pcVar28 + 0x1e0c98) + -0x2674,0x252,0x136,
               *(int *)(pcVar28 + 0x1e0c8c) + 0x16bc,*(int *)(pcVar28 + 0x1e0c8c) + 0x3e28,
               pppuVar6 + 0xd0);
    iVar4 = 1;
    ppppuVar22 = (uint ****)0x1;
    ppppuVar13 = (uint ****)(**(code **)(pcVar28 + 0x1e1bdc))(pppuVar6,1,1,1,ppppuVar15);
    if (ppppuVar13 == (uint ****)0x0) {
LAB_001c815c:
      ppppuVar13 = (uint ****)0x0;
    }
    else {
      pcVar26 = *(code **)(pcVar28 + 0x1e123c);
      ppppuVar13[0x35] = (uint ***)0x0;
      ppppuVar13[0x34] = (uint ***)0x0;
      ppppuVar13[0x24] = (uint ***)0x4;
      (*pcVar26)(ppppuVar13,ppppuVar15);
      ppppuVar13[0x8a] = (uint ***)ppppuVar7;
      ppppuVar13[0x8b] = pppuVar12;
      ppppuVar13[0x8c] = (uint ***)0xffffffff;
      ppppuVar13[0x8d] = (uint ***)0xffffffff;
      ppppuVar22 = ppppuVar15;
      if (ppppuVar13[0x9a] == (uint ***)0x2) {
        ppppuVar13[0x9a] = (uint ***)0x1;
      }
    }
  }
  if (iStack_1ac == *piVar24) {
    return ppppuVar13;
  }
  (**(code **)(pcVar28 + 0x1e1410))();
LAB_001c8358:
  ppppuVar22 = (uint ****)
               (**(code **)(pcVar28 + 0x1e19b4))
                         (*(int *)(pcVar28 + 0x1e0c8c) + 0x294c,ppppuVar22 + -0xa23,0x23e,
                          iVar4 + -0x2668);
  return ppppuVar22;
}

